启动 YARN 并运行 MapReduce 程序(伪分布式模式)
配置集群
配置yarn-env.sh
Linux系统中获取JDK的安装路径
[xiaoran@hadoop101 hadoop-2.7.2]$ echo $JAVA_HOME
/opt/module/jdk1.8.0_144
修改JAVA_HOME路径
[xiaoran@hadoop101 hadoop-2.7.2]$ vim etc/hadoop/yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置yarn-site.xml
[xiaoran@hadoop101 hadoop-2.7.2]$ vim etc/hadoop/yarn-site.xml
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
配置mapred-env.sh
Linux系统中获取JDK的安装路径
[xiaoran@hadoop101 hadoop-2.7.2]$ echo $JAVA_HOME
/opt/module/jdk1.8.0_144
修改JAVA_HOME路径
[xiaoran@hadoop101 hadoop-2.7.2]$ vim etc/hadoop/mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置(对mapred-site.xml.template重命名为)mapred-site.xml
[xiaoran@hadoop101 hadoop-2.7.2]$ mv mapred-site.xml.template mapred-site.xml
[xiaoran@hadoop101 hadoop-2.7.2]$ vim etc/hadoop/mapred-site.xml
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
启动集群
启动前必须保证 namenode 和 datanode 已经启动
启动 ResourceManager
[xiaoran@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager
启动 NodeManager
[xiaoran@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager
集群操作
[xiaoran@hadoop101 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/xiaoran/input /user/xiaoran/output
注意:文件 /user/xiaoran/output 事先不能存在