前提

  • 搭建Hadoop2.7.3

配置

Yarn架构配置

【mapred-site.xml.temple配置】	
先重命名为mapred-site.xml
<configuration>
	<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value> # 指定mapreduce基于yarn运行
    </property>
</configuration>


【yarn-site.xml配置】
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value> # 指定mapreduce的时候使用shuffle过程
    </property>
	<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>dong-01.cym.com</value> # 指定resourcemanager所在服务器主机名
    </property>
</configuration>

启动:
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager

本地访问:dong.cym.com:8088
1. 将mapred-site.xml.template拷贝一份

yarn升版 yarn.log-aggregation-enable_mapreduce


yarn升版 yarn.log-aggregation-enable_mapreduce_02

2.配置mapred-site.xml

yarn升版 yarn.log-aggregation-enable_yarn升版_03

3.配置yarn-site.xml

yarn升版 yarn.log-aggregation-enable_hadoop_04

4.启动
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager

yarn升版 yarn.log-aggregation-enable_yarn_05

5.本地访问(主机名:8088)

yarn升版 yarn.log-aggregation-enable_yarn_06

测试(使用yarn跑任务,使用官方案例jar包)

yarn升版 yarn.log-aggregation-enable_yarn_07

1.统计词频案例执行
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test.txt /output

yarn升版 yarn.log-aggregation-enable_yarn_08


yarn升版 yarn.log-aggregation-enable_yarn_09

2.查看结果

yarn升版 yarn.log-aggregation-enable_xml_10

yarn升版 yarn.log-aggregation-enable_xml_11

yarn升版 yarn.log-aggregation-enable_yarn_12

yarn升版 yarn.log-aggregation-enable_yarn_13

配置日志文件(日志聚合)

【MapReduce historyserver】
1、历史服务器:查看已经运行完成的应用记录
		修改mapred-site.xml
		指定historyserver的地址,内部和外部通信端口号,如果不指定默认是本机
		historyserver是一个轻量级的服务,可以部署在任意一台节点上
2、配置(在mapred-site.xml中):
	注意:这里的端口号不能随便修改
	<property>
	  <name>mapreduce.jobhistory.address</name>
	  <value>bigdata-04:10020</value>
	</property>
	<property>
	  <name>mapreduce.jobhistory.webapp.address</name>
	  <value>bigdata-04:19888</value>	  
	</property>

启动:sbin/mr-jobhistory-daemon.sh start historyserver
【日志聚合功能】
1、修改yarn-site.xml
	指定开启聚合功能
	指定日志存放在HDFS上的时间期限,一般建议3-7天左右,存放在HDFS的/tmp/用户之下
	<property>
		<name>yarn.log-aggregation-enable</name>
		<value>true</value>
	</property>
	<property>
		<name>yarn.log-aggregation.retain-seconds</name>
		<value>106800</value>
	</property> 
2、重启yarn进程

yarn升版 yarn.log-aggregation-enable_hadoop_14

不配置,那么yarn上的history点击无法显示

1.配置mapred-site.xml文件

yarn升版 yarn.log-aggregation-enable_mapreduce_15

2.配置yarn-site.xml文件(开启日志聚合)

yarn升版 yarn.log-aggregation-enable_mapreduce_16

3.重启yarn

yarn升版 yarn.log-aggregation-enable_yarn_17

yarn升版 yarn.log-aggregation-enable_yarn_18

yarn升版 yarn.log-aggregation-enable_xml_19

  • 添加可执行权限
  • yarn升版 yarn.log-aggregation-enable_mapreduce_20

  • 关闭服务
  • yarn升版 yarn.log-aggregation-enable_xml_21

  • 开启服务

yarn升版 yarn.log-aggregation-enable_mapreduce_22

  • 还需要开始日志服务
  • sbin/mr-jobhistory-daemon.sh start historyserver
  • yarn升版 yarn.log-aggregation-enable_xml_23

  • 重新跑一个任务,查看日志
  • yarn升版 yarn.log-aggregation-enable_yarn_24

yarn升版 yarn.log-aggregation-enable_yarn_25

yarn升版 yarn.log-aggregation-enable_hadoop_26


yarn升版 yarn.log-aggregation-enable_yarn升版_27

yarn升版 yarn.log-aggregation-enable_xml_28

yarn升版 yarn.log-aggregation-enable_yarn_29

如果还有问题,检查下服务器防火墙有没有关闭

hdfs下tmp目录的权限问题

yarn升版 yarn.log-aggregation-enable_yarn升版_30

  • 更改权限
  • bin/hdfs dfs -chmod -R 777 /tmp
  • yarn升版 yarn.log-aggregation-enable_mapreduce_31


yarn升版 yarn.log-aggregation-enable_yarn_32


yarn升版 yarn.log-aggregation-enable_xml_33

其他(更改yarn界面右上角的用户名)

yarn升版 yarn.log-aggregation-enable_yarn升版_34

  • 修改core-site.xml文件

yarn升版 yarn.log-aggregation-enable_xml_35

  • 重启服务,查看

yarn升版 yarn.log-aggregation-enable_mapreduce_36