yarn.log.dir在哪里定义?

时间:2018-02-08 19:47:05

标签: hadoop logging yarn

在Apache {2} for Apache Hadoop 3.0.0中,它将yarn.nodemanager.log-dirs的默认值显示为$ {yarn.log.dir} / userlogs。

yarn.log.dir在哪里定义?它有默认值吗?

我没有在任何默认配置中找到它(core-default.xml,hdfs-default.xml,mapred-default.xml,yarn-default.xml)。

我没有在任何环境脚本中找到它(hadoop-env.sh,httpfs-env.sh,kms-env.sh,mapred-env.sh,yarn-env.sh。

同样让我感到困惑的是,当我为" yarn.nodemanager.log-dirs"它显示的唯一地方是yarn-default.xml和markdown文件,而不是任何地方的任何java代码。那么设置yarn.nodemanager.log-dirs怎么做呢?

1 个答案:

答案 0 :(得分:5)

yarn.log.dir是一个Java属性,基于-D标志

yarn-env.sh中,您应该看到YARN_LOG_DIR

# default log directory and file
if [ "$YARN_LOG_DIR" = "" ]; then
  YARN_LOG_DIR="$HADOOP_YARN_HOME/logs"
  ...
fi

YARN_OPTS="$YARN_OPTS -Dyarn.log.dir=$YARN_LOG_DIR"