上一篇文章中我们已经搭建好了HDFS环境,现在我们在这个环境的基础上继续搭建YARN和MapReduce环境。

修改三台机器的etc/hadoop/mapred-site.xml文件,添加如下配置

1
2
3
4
5
6
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

修改三台机器的etc/hadoop/yarn-site.xml文件,添加如下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<configuration>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>172.19.65.196:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>172.19.65.196:8031</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>172.19.65.196:8032</value>
</property>
</configuration>

随后我们在172.19.65.196节点上执行命令启动yarn

./hadoop-3.3.2/sbin/start-yarn.sh

之后在节点上分别执行jps命令可以看到ResourceManager和NodeManager都已经起起来了

[hadoop@lin-65-196 ~]$ jps
30690 SecondaryNameNode
10466 ResourceManager
10779 Jps
30462 NameNode

[hadoop@lin-72-108 ~]$ jps
19909 DataNode
23208 Jps
23069 NodeManager

之后我们访问网页http://172.19.65.196:8088/cluster/nodes就可以看到节点信息了

之后提交一个我们之前在单机上测试过的任务

# 在hdfs上创建input文件夹
./bin/hadoop fs -mkdir /input
# 传输文件到hdfs
./bin/hadoop fs -put etc/hadoop/*.xml /input
# 删除我们之前在hdfs上创建的test文件夹
./bin/hadoop fs -rm -f -r /test
# 提交任务
./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar grep /input /output 'dfs[a-z.]+'

参考

Hadoop之YARN的安装与测试
yarn-default.xml

注:为了使用方便,可以在本机使用SwitchHosts进行IP和Hostname的映射

172.19.65.196 lin-65-196.localdomain
172.19.72.108 lin-72-108.localdomain
172.19.72.112 lin-72-112-auto-5.localdomain