YARN 任务日志存储到HDFS中

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

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

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

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

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

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

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

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

YARN 任务日志存储到HDFS中_第1张图片

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

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

YARN 任务日志存储到HDFS中_第2张图片

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

你可能感兴趣的:(yarn)