上一篇 文章中我们已经搭建好了 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