YARN 任务日志存储到HDFS中

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lm709409753/article/details/80195305

场景:公司使用YARN运行非MR、SPARK的任务,任务是一个长期的任务,在测试阶段,任务可能会挂掉,任务产生的日志对于问题的分析是必不可少的。

为了保留任务容器产生的日志,在YARN中要配置相应的参数,开启日志聚合等操作。

配置文件如下 yarn-site.xml。我下面只写出日志相关的配置内容

<property>
 <name>yarn.log-aggregation.retain-seconds</name>
 <value>10080</value>
 <description>日志存储时间</description>
</property>

<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
<description>是否启用日志聚集功能</description>
</property>

<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/tmp/logs</value>
<description>当应用程序运行结束后,日志被转移到的HDFS目录(启用日志聚集功能时有效)。</description>
</property>

<property>
  <name> yarn.nodemanager.remote-app-log-dir-suffix</name>
 <value></value>
 <description>远程日志目录子目录名称(启用日志聚集功能时有效)</description>
 </property>

当任务运行结束后,YARN会把appmaster container任务的日志都上传到HDFS的地址中;如下图所示。

这里写图片描述

文件目录为:/hdfs远程目录地址/用户/logs/任务名

进入任务后,会后一个日志文件,这个文件内存储了appmaster 任务容器的日志。

这里写图片描述

现在,我们就可以分析历史任务日志了。

猜你喜欢

转载自blog.csdn.net/lm709409753/article/details/80195305