1. 程式人生 > 實用技巧 >啟動YARN並執行MapReduce程式(偽分散式模式)

啟動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 事先不能存在