一、Yarn基本配置和测试
1.Yarn环境变量
(1)yarn-env.sh
export HADOOP_YARN_USER=/opt/modules/jdk1.8.0_151
(2)mapred-env.sh
export JAVA_HOME=/opt/modules/jdk1.8.0_151
2.修改hadoop/etc/hadoop/mapred-site.xml
指定mapreduce计算模型运行在yarn上
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.修改hadoop/etc/hadoop/yarn-site.xml
(1)指定启动运行mapreduce上的nodemanager的运行服务
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
(2)指定resourcemanager主节点机器。可选项,不一定要配置,默认是本机,但是指定了之后在其他机器上启动,就会报错
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop</value>
</property>
4.启动yarn
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
5.测试
(1)web端口
http://hadoop:8088/
(2)运行一个mapreduce的wordcount单词统计案例
先上传文件
bin/hdfs dfs -put /opt/modules/hadoop-2.6.0-cdh5.15.0/etc/hadoop/core-site.xml /
再运行wordcount实例
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.15.0.jar wordcount /core-site.xml /output
二、日志聚合
1.历史服务器
(1)功能:查看已经运行完成的应用记录
(2)修改mapred-site.xml
指定historyserver的地址,内部和外部通信端口号,如果不指定默认是本机
historyserver是一个轻量级的服务,可以部署在任意一台节点上
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop:19888</value>
</property>
2.修改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>
3.开启jobhistory
sbin/mr-jobhistory-daemon.sh start historyserver
4.开启测试
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.15.0.jar wordcount /core-site.xml /output
点击history
结果
三、优化
1.关闭hdfs权限检测
(1)功能:取消HDFS权限检测功能
(2)修改hdfs-site.xml
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>