在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怎么做呢?
答案 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"