APP下载

Hadoop核心架构浅析及集群部署的设计与实现

2018-01-17韩健

电子技术与软件工程 2017年20期
关键词:架构

摘 要 随着大数据应用的如火如荼,各种大数据技术业层出不穷,其中以Hadoop技术为核心的大数据存储和计算解决方案受到越来越广泛的好评,成功案例也越来越多。在这种背景下,本文介绍了Hadoop的核心架构并用实验的方式对Hadoop集群的部署给出了设计方案。

【关键词】Hadoop 架构 集群部署

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,其前身为本世纪初Apache研发出的Nutch。简单来说,Hadoop就是一个搜索引擎,其可以为人们的各种搜索需要提供与之相对应的搜索工具,而谷歌公司发表的关于谷歌文件系统的论文,则是谷歌公司首次向世人展示了这一集数据搜索功能、数据存储功能等于一身的专用文件系统。Nutch创始人紧随其后,通过学习和借鉴谷歌公司发布的技术论文,重新开发出了分布式文件系统,并将其命名为NDFS。此举则使得Google在该领域加大了研究力度,其在随后发表的MapReduce即编程模型论文当中,展示了该模型强大的分析和运算能力,其可以同时完成超过1TB的数据集分析与运算。次年,Nutch创始人以MapReduce为基础,依托Nutch搜索引擎,同样实现了大容量数据集的分析和运算。直到2006年雅虎公司聘用Nutch创始人,使得NDFS以及MapReduce被正式统一命名为Hadoop。

1 Hadoop核心技术架构

Hadoop作为分布式文件系统的一种,除了具备强大的存储功能之外,其通过大量计算设备,使得系统可以在大型集群上完成分布式应用的有效执行。事实上,在Hadoop的当中,HDFS和MapReduce占据着最为重要的地位,但其只是一种基础理论,缺乏足够的应用性。

1.1 HDFS文件系统

HDFS文件系统具有高容错性,适用于价格较为低廉的机器,而其提供的数据访问具备较高的吞吐量,因此对于大型数据集的应用程序而言无疑是一利好消息。

在 Hadoop软件框架当中,HDFS虽然身处最底层,但是其传输和容错较高的特性使其能够轻松完成全部存储节点文件的存储工作,在对文件系统数据进行访问时,也支持流形式,使得管理大量信息数据的工作变得更加轻松和高效,如图1所示,管理者、工作者是组成Hadoop集群最为关键的两大部分(如图1)。

1.2 MapReduce软件框架

在Hadoop当中,分布式处理机制(MapReduce)是其十分重要的一项技术。其组成要素分别JobTracker 和TaskTracker,前者为 Hadoop集群当中独一无二的应用程序,负责启动并控制单个主系统上与之相对应的对象,提交应用程序后将负责直接提供输入目录、输出目录。TaskTracker的数量众多,其充当着执行者的身份,在执行完JobTracker各项命令后会直接向其反馈本地节点状态。

MapReduce会采用分化的方式,将原本十分庞大的数据分析划分成若干个小块,在对每一个小块进行分析之后将最终获得的数据进行汇总,进而得到最终的分析结果。而Hadoop出现使得人们通过编写极为简单的需求命令,便可以完成相关数据的有效获取。

2 Hadoop集群部署

2.1 安装环境准备

2.1.1 硬件环境准备

我们的集群部署环境选择四台PC服务器,每台服务器装有红帽LINUX操作系统,并配有8GB 内存和40GB 的存储。通过局域网实现四台服务器之间的互联, 其中主节点一台 ,从节点共有三台。在每一台服务器上都需要完成 Hadoop 用户的建立,由此完成所有 Hadoop操作。

注意Hadoop 是用 Java 语言开发的分布式计算框架,所以每台服务器需要安装JDK。

另外,Hadoop 集群在运行时需要通过 ssh免密码服务来进行通信。

2.1.2 配置 Hadoop 文件

考慮到Hadoop 拥有不同的版本,本文最终选择使用具有较好稳定性的 Hadoop 2.2.0。 在将安装文件下载并保存至主节点之后,在相关目录下配置 Hadoop 文件。其配置过程如下所示:

(1) 对从节点进行配置。在将文件打开之后将 slave1,slave2,slave3加入其中。

(2) 配置hadoop环境变量脚本Hadoop-env.sh。修改 JAVA_HOME值: export JAVA_HOME = /usr/local/java/jdk1.8.0_25

(3)对yarn环境变量脚本yarn-env.sh进行配置。将JAVAHOME值修改为xport JAVA_HOME=/usr/local/java/jdk1.8.0_25

(4)对目录当中的xml 文件(共计四个)进行修改。

最后,将 Hadoop 文件通过 scp 命令发送到各个从结点。这样,就完成了 Hadoop 集群的部署。

3 结语

Hadoop是一种主流的大数据技术,本文通过对 Hadoop及其关键技术进行简要分析研究,分别从理论和实践两个角度,对 Hadoop技术进行全面展示,这证明其具有强大的信息数据存储、分析和处理能力。

参考文献

[1]TomWhite.Hadoop权威指南(2版)[M].北京:清华大学出版社,2011:15-73,167-188.

[2]TomWhite.HadoopTheDefinitiveGuide2ndEdition[M].Oreilly,2010:41-73,167-188.

[3]JasonVenner.ProHadoop[M].Apress,2009:27-53.

作者简介

韩健(1982-),男,北京市人。硕士研究生。工程师。研究方向为大数据和数据挖掘。

作者单位

中国民生银行总行 北京市 100031endprint

猜你喜欢

架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
LSN DCI EVPN VxLAN组网架构研究及实现
一种基于FPGA+ARM架构的μPMU实现
具身学习环境SMALLab的架构分析及启示