摘要随着云时代的来临,大数据也吸引越来越多的关注,企业在日常运营中生成、积累的用户网络行为数据。这些数据是如此庞大,计量单位通常达到了PB、EB甚至是ZB。Hadoop作为一个开源的分布式文件系统和并行计算编程模型得到了广泛的部署和应用。本文将介绍Hadoop完全分布式集的具体搭建过程与基于Hive的数据分析平台的设计与实现。
关键字Hadoop,MapReduce,Hive
AbstractWith the advent of cloud, big data also attract more and more attention, the enterprise of the generation and accumulation in the daily operation of the user network behavior data. The data is so large, the measuring unit is usually achieved the PB, EB, and even the ZB. The Hadoop distributed file system as an open source, and parallel computing programming model has been widely deployed and application. This article introduces Hadoop completely distributed cluster process of concrete structures, and the design and implementation of data analysis platform based on the Hive.
key wordsHadoop,MapReduce,Hive
目录
第一章某某企业数据分析系统设计需求分析 4
第二章 Hadoop简介 5
第三章 Hadoop单一部署 8
3.1 Hadoop集部署拓扑图 8
3.2 安装操作系统Centos 9 3.3 Hadoop基础配置 15
3.4 SSH免密码登录 18
hadoop分布式集搭建3.5 安装JDK 19
3.6 安装Hadoop 20
3.6.1安装32位Hadoop 20
3.6.2安装64位Hadoop 29
3.7 Hadoop优化 33
3.8 Hive安装与配置 34
3.8.1 Hive安装 34
3.8.2 使用MySQL存储Metastore 34 3.8.3 Hive的使用 37
3.9 Hbase安装与配置 38
9.1 Hbase安装 38
9.2 Hbase的使用 40
3.10 集监控工具Ganglia 44 第四章 Hadoop批量部署 49
4.1 安装操作系统批量部署工具Cobbler 49
4.2 安装Hadoop集批量部署工具Ambari 55
第五章使用Hadoop分析网站日志 64
第六章总结 68
第七章参考文献 69
致谢 70
第一章某某企业数据分析系统设计需求分析
某某企业成立于1999年,其运营的门户网站每年产生大概2T的日志信息,为了分析网站的日志,部署了一套Oracle数据库系统,将所有的日志信息都导入Oracle的表中。随着时间的推移,存储在Oracle数据库中的日志系统越来越大,查询的速度变得越来越慢,并经常因为查询的数据量非常大而导致系统死机。日志信息的分析成为了XX企业急需解决的问题,考虑到单机分析的扩展性与成本问题,且XX企业当前有一部分服务器处于闲置状态,最终决定在现有服务器的基础上部署一套分布式的系统来对当前大量的数据进行分析。结合淘宝目前已经部署成功的数据雷达系统,同时由于XX企业预算有限,为了节约资金,决定采用开源的Hadoop来部署公司的数据分析系统。
● 采用Hadoop集优势:
1. 高可靠性,能够维护多个工作数据副本,确保能够针对失败的节点重新分布处理。
2. 高扩展性,在计算机集簇间分配数据并完成计算,这些集簇可以很容易扩展到数以千计的节点中去。
3. 高效性,以并行的方式工作,通过并行处理加快处理速度。
4. 高容错性,自动保存数据多个副本,并能够自动将失败任务重新分配。
5. 廉价性,框架可以运行在任何普通的PC上。
● 采用Hadoop集劣势:
1. 采用单master的设计,单master的设计极大地简化了系统的设计和实现,由此带来了机器规模限制和单点失效问题。
2. 编程复杂,学习曲线过于陡峭,让许多人难以深入。
3. 开源性,在广大社区维护不断推进Hadoop的发展的同时,一旦代码出现漏洞并未被发现,而又被有心的人利用,将会对数据的安全造成毁灭性的后果。
4. 缺乏认证,Hadoop并没有对使用Hadoop的权限进行细致的划分。
第二章 Hadoop简介
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统和MapReduce为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。HDFS的高容错性、高伸缩性等优点允许用户将Hadoop部署在低廉的硬件上,形成分布式系统,MapReduce分布式编程模型允许用户在不了解分布式系统底层细节的情况下开发并行应用程序。所以用户可以利用Hadoop轻松
地组织计算机资源,从而搭建自己的分布式计算平台,并且可以充分利用集的计算和存储能力,完成海量数据的处理。
2.1 Hadoop生态系统
Hadoop已经发展成为包含多个子项目的集合。核心内容是MapReduce和Hadoop分布式文件系统(DHFS)。它也包含了Common、Avro、Chukwa、Hive、Hbase等子项目,他们在核心层的基础上提供了高层服务,为Hadoop的应用推广起到了重要作用。如图2.1所示:
图2.1 Hadoop结构图
Hadoop Core/Common
从Hadoop 0.20版本开始,Hadoop 的Core 项目便更名为Common.,它是Hadoop体系最底层的一个模块,为Hadoop各子项目提供各种工具,主要包括FileSystem、PRC和串行化库。
Hive
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hbase
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论