1. 首先找到hadoop/etc/hadoop/mapred-site.xml.template文件,重名为mapred-site.xml
修改hadoop/etc/hadoop/mapred-site.xml文件
<!--指定mapreduce程序运行在yarn平台上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2.修改hadoop/etc/hadoop/yarn-site.xml文件
<!--指定启动运行mapreduce上的nodemanager的运行服务-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定resourcemanager主节点机器,可选项,不一定要配置,默认是本机,但是指定了之后在其他机器上启动,就会报错-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hostname</value>
</property>
3. 启动yarn
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
4. 查看yarn外部web界面
bigdata-04或者IP地址 跟上8088端口号,外部通信http
5. 测试环境,运行一个mapreduce,wordcount单词统计案例
一个mapreduce分为五个阶段
input -> map() -> shuffle -> reduce() -> output
步骤:将mapreduce运行在yarn上,需要打jar包
新建一个数据文件,用于测试mapreduce
将数据文件从本地上传到HDFS
bin/hdfs dfs -put /opt/datas/1.txt /user/beifeng/iuput/
使用官方提供的示例jar包:share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
6. 运行
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /wordcount/input/words.txt /wordcount/output
application_1540126158890_0001
0001表示第一个job
1500824570525表示Unixtime(格林威治时间)
7.运行结果
结果存放在hdfs中的 /wordcount/output/part-r-00000下
[查看命令: bin/hdfs dfs -text /wordcount/output/part-r-00000 (-part全拼partition,分区;-r全拼reduce,代表经过reduce过程生成的结果文件;-m全拼map,代表经过map阶段生成的结果文件,也就是没有执行reduce阶段,一个mapreduce程序必须有map阶段可以没有reduce阶段;-00000文件编号,分区号。)