2021.07科学技术创新基于Hadoop 分布式集搭建方法研究
罗利
(湖南信息职业技术学院,
湖南长沙410299)Hadoop 是开源的大数据平台,其分布式文件系统HDFS 进行数据存储,计算框架MapReduce 做数据计算。用户不需了解
底层实现细节就可以实现海量数据存储计算。实际生产过程中Hadoop 平台搭建需
要多个物理服务器,但是学生学习过程中并没有真实的服务器供学习。1环境准备
Hadoop 完全分布式集搭建环境需要至少3台服务器,本实验选择在VMware WorkStation 15中创建3台虚拟机,各系统环境要求集节点规划信息如表1所示。
1.1安装JDK
CentOS7预装了OpenJDK ,先删除OpenJDK 。下载匹配环境
的JDK jar 包,解压,
将JDK 路径添加到/etc/profile 末尾:export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile 使文件生效。java -version 检查JDK 是否
安装成功,如果成功,会出现java 版本号等信息。
1.2安装Hadoop
2.7.2
本文采用的Hadoop 版本为Apache Hadoop2.7.2。下载匹配
环境的Hadoop jar 包,解压,
修改/etc/profile 文件:export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
source /etc/profile 使文件生效,hadoop version 检查Hadoop
是否安装成功。
1.3克隆3台虚拟机
将上述已经安装好JDK 和Hadoop 的节点克隆2个节点,对新节点的MAC 地址重新生成,
保证唯一性。1.4修改主机名
编辑/etc/hostname 文件,修改3个节点主机名分别为master 、slave1、slave2,
用hostname 查看是否修改成功。修改文件vi /etc/hosts ,建立IP 地址和主机名映射关系:
192.168.200.100master
192.168.200.101slave1
192.168.200.102slave2
再关闭防火墙,在/etc/selinux/confi 中设置
“SELINUX=disabled ”
,systemctl disable firewalld 永久关闭防火墙。1.5SSH 免密登录配置SSH 免密登录,实现多个节点之间不输入密码即可登录成功。SSH 安全外壳协议,以master 节点免密登录slave1为例,配置如下:1.5.1生成公钥和私钥。在master 节点的.ssh 目录(在用户家目录)下,执行ssh-keygen -t rsa ,执行三个回车,生成公钥id_rsa.pub 和私钥id_rsa 。1.5.2拷贝公钥到需要免密登录的目标节点。执行ssh-copy-id slave1,将公钥拷贝到slave1节点上。至此,在master 节点可以ssh slave1直接免密登录。同理,在slave1上需要配置免密登录maser 、slave2,slave2上需要配置免密登录maser 、slave1。2配置集[3]
在master 节点配置以下6个配置文件。2.1hadoop-env.sh 、yarn-env.sh 、mapred-env.sh 。这3个文件中分别修改JAVA_HOME 环境变量,
修改jdk 安装路径:export JAVA_HOME=/opt/module/jdk1.8.0_l 。指定HDFS 中NameNode 的地址和Hadoop 运行时产生文件的存储目录。
<property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><name&p.dir</name>作者简介:罗利(1992-),汉族,籍贯:湖南浏阳,学历:研究生,助教,研究方向:高职教育、
大数据开发。摘要:Hadoop 是大数据分布式基础架构之一,主要解决海量数据的存储和计算。文中详细介绍了Hadoop 集搭建的环境
准备、配置过程、测试使用,运行单词统计程序,
该平台可以满足轻量化的学习需求。关键词:Hadoop ;大数据;分布式集中图分类号:TP311.1文献标识码:A 文章编号:2096-4390(2021)07-0099-02
表1集环境规划信息主机名 IP 地址 角说明 服务信息 环境说明
master 192.168.200.100 主节点
NameNode DataNode NodeManager slave1 192.168.200.101 从节点 DataNode ResourceManager NodeManager slave2 192.168.200.102 从节点 SecondaryNameNode DataNode 操作系统:CentOS
Li nux release 7.5.1804 (Core) . 64
位 Hadoop 版本:Ha doop
2.7.2 JAVA 版本:build
1.8.0_144-b01
99--
科学技术创新2021.07
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
l。指定HDFS副本数为3和辅助名称节点配置。
<property>
<name&plication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave2:50090</value>
</property>
l。指定Reducer获取数据的方式为mapreduce_shuffle和YARN的ResourceManager的地址。
<property>
<name&demanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name&sourcemanager.hostname</name>
<value>slave1</value>
</property>
l
执行l.l复制重命名文件,再修改指定MapReducer运行在yarn框架:<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2.6所有配置文件分发到slave1和slave2节点。
[root@master hadoop-2.7.2]#scp-r etc/hadoop/root@slave1: /opt/module/hadoop-2.7.2/etc/
[root@master hadoop-2.7.2]#scp-r etc/hadoop/root@slave2: /opt/module/hadoop-2.7.2/etc/
3启动集并查看状态
第一次启动集,先格式化NamaNode,再启动集。master 节点执行hadoop namenode-format格式化NamaNode,配置slaves文件,起集:
master
slave1
slave2
在master节点直接用start-all.sh命令启动所有进程,jps查看进程:master节点运行了NamaNode、DataNode、NodeManager 进程,slave1节点运行ResourceManager、DataNode、NodeManager 进程,slave2节点运行DataNode、NodeManager、SecondaryNameNode进程。
以上节点各项服务正常启动后,WEB页面可查看Hadoop 集的运行状态,浏览器中输入NameNode IP:50070打开HDFS的管理界面。
4运行应用程序
集搭建成功后在集上运行官方WordCount案例,统计每个单词出现的次数。
4.1在Linux本地/opt/module/hadoop2.7.2下新建目录winput,并创建测试文件,写入内容:
[root@master winput]#
hadoop hdfs yarn mapreduce
spark hbase hdfs
hadoop hadoop spark
4.2HDFS根目录下创建目录testinput:
[root@master hadoop-2.7.2]#hadoop fs-mkdir/testinput
4.3本地文件系统的上传到HDFS的/testinput目录下:
[root@master hadoop-2.7.2]#hadoop fs-put /testinput/
4.4运行wordcount案例,将输出结果输出到/testoutput下:
[root@master hadoop-2.7.2]#hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount//testoutput
4.5查看运行结果。
[root@master hadoop-2.7.2]#hadoop fs-cat/testoutput/*
hadoop与spark的区别与联系hadoop3
hbase1
hdfs2
mapreduce1
spark2
yarn1
5结论
本文利用虚拟机搭建了基于Hadoop的大数据实验平台,以1个master节点和2个slave节点为例,介绍了Hadoop集分布式搭建的方法,最后使用该平台进行单词统计实验,经过测试实践,该搭建方法是正确的。说明利用普通PC机集环境简单方便、成本低廉,对课程教学提供易于实现的解决方案,为后续学习打下坚实的基础。
参考文献
[1]朱颢东,冯嘉美,张志锋.基于Hadoop的大数据处理平台研究[J].华中师范大学学报(自然科学版),2017(51):590.
[2]刘顺.基于Hadoop集的词频统计应用[J].科学技术创新,2020.
100 --
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论