入门大数据---通过Yarn搭建MapReduce和应用实例

时间:2021-06-11 16:19:39

上一篇中我们了解了MapReduce和Yarn的基本概念,接下来带领大家搭建下Mapreduce-HA的框架。

结构图如下:

  入门大数据---通过Yarn搭建MapReduce和应用实例

开始搭建:

一.配置环境

注:可以现在一台计算机上进行配置,然后分发给其它服务器

1.1 编辑mapred-site.xml文件:

进入目录 /opt/hadoop/hadoop-2.6.5/etc/hadoop

cd  /opt/hadoop/hadoop-2.6.5/etc/hadoop

vim mapred-site.xml

添加如下配置:  

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value> <!--指定mapreduce通过yarn获取数据,还可以填写参数localhost-->
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>

1.2 编辑yarn-site.xml文件:

vim yarn-site.xml

添加如下配置:

<configuratoin>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> <!--指定nodemanager可以拉取数据-->
</property>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value><!--启动resourcemanager高可用-->
</property>
<property>
<name>hadoop.zk.address</name><!--配置zookeeper地址-->
<value>tuge1:2181,tuge2:2181,tuge3:2181,tuge4:2181</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value><!--配置resourcemanager虚拟地址到物理地址的映射-->
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>tuge1</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>tuge2</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>tuge1:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>tuge2:8088</value>
</property>
</configuration>

入门大数据---通过Yarn搭建MapReduce和应用实例

二.启动程序

在tuge1服务器启动:

cd  /opt/hadoop/hadoop-2.6.5/sbin

start-yarn.sh

启动后,使用jps即可查看resourcemanager和nodemanager是否启动成功。

三.浏览效果

入门大数据---通过Yarn搭建MapReduce和应用实例

四.实现一个计算Demo

4.1 在hdfs里面创建一个10000行的test.txt文件

使用命令:

//首先创建一个root文件夹

hadoop fs -mkdir /user/root/

//在linux随便找一个目录创建一个文件,并加入1万行What are you doing 123?

touch test.txt

vim test.txt

然后输入数字10000,再点击i进行输入What are you doing 123? ,然后按Esc 这时10000行What are you doing 123?就录入了,然后保存。

//将本地文件复制到hdfs上面

hadoop dfs -scpFromLocal test.txt /user/root/

4.2 进入/opt/hadoop/hadoop-2.6.5/share/hadoop/mapreduce

cd /opt/hadoop/hadoop-2.6.5/share/hadoop/mapreduce

4.3 使用mapreduce统计刚刚上传文件里面的单词数量

hadoop jar hadoop-mapreduce-examples-2.6.5.jar  /user/root/test.txt  /user/root/result   --意思是使用hadoop 运行jar环境,并执行程序,统计的文件路径,输出结果路径(这个路径必须是空的或者不存在的)

4.4 控制台执行效果图和web ui浏览效果图

入门大数据---通过Yarn搭建MapReduce和应用实例

入门大数据---通过Yarn搭建MapReduce和应用实例

4.5 最后我们可以在上面的输出目录查看统计结果

hadoop fs -cat /user/root/result/part-r-00000

入门大数据---通过Yarn搭建MapReduce和应用实例

从上图可以看到,每个单词统计均为10000,那么就证明我们搭建成功啦~

系列传送门