如何覆盖 hadoop 中的默认 log4j 属性

How to override default log4j properties in hadoop

目前我们正在使用 hadoop.root.logger="INFO,console" 进行 mapreduce 和 spark 作业。我想用 "WARN,console" 覆盖,我试图设置全局变量

export HADOOP_ROOT_LOGGER="WARN,console"

hadoop-env.sh 但它不起作用。我可以在纱线日志中看到信息、警告、错误。我如何覆盖这些设置。

文件 yarn-env.sh 包含覆盖 YARN 进程日志级别的这些行。

YARN_OPTS="$YARN_OPTS -Dhadoop.root.logger=${YARN_ROOT_LOGGER:-INFO,console}"
YARN_OPTS="$YARN_OPTS -Dyarn.root.logger=${YARN_ROOT_LOGGER:-INFO,console}"

如果未设置YARN_ROOT_LOGGER,则yarn日志级别设置为INFO

hadoop-env.sh,

中添加变量YARN_ROOT_LOGGER
export YARN_ROOT_LOGGER="WARN,console"