Fra*_*ank 5 logging google-cloud-dataproc
如之前的答案所述,更改 Spark 集群详细程度的理想方法是更改相应的 log4j.properties。但是,在 dataproc 上 Spark 运行在 Yarn 上,因此我们必须调整全局配置而不是 /usr/lib/spark/conf
几个建议:
在 dataproc 上,我们可以在集群创建期间传递几个 gcloud 命令和属性。查看文档 是否可以通过指定来更改 /etc/hadoop/conf 下的 log4j.properties
--properties 'log4j:hadoop.root.logger=WARN,console'
Run Code Online (Sandbox Code Playgroud)
也许不是,如文档所示:
--properties 命令不能修改上面未显示的配置文件。
另一种方法是在集群初始化期间使用 shell 脚本并运行 sed:
# change log level for each node to WARN
sudo sed -i -- 's/log4j.rootCategory=INFO, console/log4j.rootCategory=WARN, console/g'\
/etc/spark/conf/log4j.properties
sudo sed -i -- 's/hadoop.root.logger=INFO,console/hadoop.root.logger=WARN,console/g'\
/etc/hadoop/conf/log4j.properties
Run Code Online (Sandbox Code Playgroud)
但是这样就足够了,还是我们还需要更改环境变量 hadoop.root.logger 呢?