简介
我们经常会向yarn集群上提交任务,但是任务执行完后,我们就不能再查看log文件了。此时我们可以开启historyserver,实现yarn集群上历史任务的保存。
配置
非高可用(HA)模式的配置
1.修改%HADOOOP_HOME/etc/hadoop/yarn-site.xml文件
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>2592000</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://node01:19888/jobhistory/logs</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>hdfs://node01:9000/user/hpe/yarn-logs/</value>
</property>
yarn.nodemanager.remote-app-log-dir是文件存放位置,可以是本地位置,也可以是HDFS上的位置,建议是存放在HDFS上。文件存放在HDFS上,目录一定要存在。
配置名 | 描述 |
---|---|
yarn.log-aggregation-enable | 是否启用日志聚合。 日志收集聚合 每个容器的日志,这些日志移动到文件系统 |
yarn.log-aggregation.retain-seconds | 日志保存时间 |
yarn.log.server.url | 为日志聚合服务器URL |
yarn.nodemanager.remote-app-log-dir | 日志存放目录 |
高可用(HA)模式的配置
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>2592000</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://node01:19888/jobhistory/logs</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>hdfs://mycluster/user/hpe/yarn-logs/</value>
</property>
mycluster是在hdfs-site.xml中配置的dfs.nameservices的值。注意:高可用模式后面不要加端口号了。
开启
1.重启yarn集群
#先关闭yarn集群
stop-yarn.sh
start-yarn.sh
2.开启historyserver
mr-jobhistory-daemon.sh start historyserver
3.查看进程
jps可以看到JobHistoryServer进程。
然后就可以自己尝试提交任务了。任务结束后去页面http://node01:8088查看历史任务。
如果能够看到这些日志,那么historyserver服务就开启成功了。