背景:如图所示:为了从Tracking_UI中history界面中直接查看运行日志或是通过yarn logs查看日志命令,需要进行如下配置
图1
- <property>
- <name> yarn.log-aggregation-enablename>
- <value>truevalue>
- property>
-
- <property>
- <name>yarn.log.server.urlname>
- <value>http://bigdata02:19888/jobhistory/logs/value>
- property>
-
- <property>
- <name>yarn.log-aggregation.retain-secondsname>
- <value>10080value>
- property>
-
- <property>
- <name>yarn.nodemanager.remote-app-log-dirname>
- <value>/yarnvalue>
- property>
-
- <property>
- <name>yarn.nodemanager.remote-app-log-dir-suffixname>
- <value>logsvalue>
- property>
启用日志聚合功能:
1、在默认情况下,Hadoop将所有日志存储在运行作业任务的节点上。在特定时间段后应用程序日志会被自动删除。可以配置日志聚合功能,将日志存储在HDFS中来长久保留日志信息。在默认情况下,日志聚合是禁止的,可以通过yarn.log-aggregation-enable来启用
2、启用日志聚合后,NodeManager会将所有容器日志连接到一个文件中并将它保存在HDFS中 一个特定的应用程序的实际HDFS位置是"${yarn.nodemanager.remote-app-log-dir}/${user.name}/${yarn.nodemanager.remote-app-log-dir-suffix}/"
4、在启用日志聚合功能后,上述两个参数全部时效,以下是日志保留配置参数将生效: yarn.log-aggregation.retain-seconds:日志删除HDFS日志聚合的时间,若将此参数设置为一个负数(例如默认值为-1),则永久不删除日志,这意味着应用程序的日志聚合所占的空间会不断的增长,从而造成HDFS集群的资源过度使用。 yarn.log.server.url:指定应用程序(例如:MRAppMaster,SparkAppMaster等等)运行完成后可以访问聚合日志的URL,若不指定,默认值为空。
./mapred --daemon start historyserver
yarn logs -applicationId application_1660378737778_0001