基于Hadoop数据分析系统设计

基于Hadoop数据分析系统设计
基于Hadoop数据分析系统设计

摘要

随着云时代的来临,大数据也吸引越来越多的关注,企业在日常运营中生成、积累的用户网络行为数据。这些数据是如此庞大,计量单位通常达到了PB、EB甚至是ZB。Hadoop作为一个开源的分布式文件系统和并行计算编程模型得到了广泛的部署和应用。本文将介绍Hadoop完全分布式集群的具体搭建过程与基于Hive的数据分析平台的设计与实现。

关键字Hadoop,MapReduce,Hive

Abstract With 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 words Hadoop,MapReduce,Hive

目录

第一章某某企业数据分析系统设计需求分析 (3)

第二章HADOOP简介 (4)

第三章HADOOP单一部署 (7)

3.1 H ADOOP集群部署拓扑图 (7)

3.2 安装操作系统C ENTOS (8)

3.3 H ADOOP基础配置 (14)

3.4 SSH免密码登录 (17)

3.5 安装JDK (18)

3.6 安装H ADOOP (19)

3.6.1安装32位Hadoop (19)

3.6.2安装64位Hadoop (28)

3.7 H ADOOP优化 (32)

3.8 H IVE安装与配置 (33)

3.8.1 Hive安装 (33)

3.8.2 使用MySQL存储Metastore (33)

3.8.3 Hive的使用 (36)

3.9 H BASE安装与配置 (37)

9.1 Hbase安装 (37)

9.2 Hbase的使用 (39)

3.10 集群监控工具G ANGLIA (43)

第四章HADOOP批量部署 (48)

4.1安装操作系统批量部署工具C OBBLER (48)

4.2安装H ADOOP集群批量部署工具A MBARI (54)

第五章使用HADOOP分析网站日志 (63)

第六章总结 (67)

第七章参考文献 (67)

致谢 (68)

第一章某某企业数据分析系统设计需求分析

某某企业成立于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.1Hadoop生态系统

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应用,十分适合数据仓库的统计分

相关主题
相关文档
最新文档