如前面的答案所述,更改 Spark 集群详细程度的理想方法是更改相应的 log4j.properties。但是,在 dataproc 上 Spark 在 Yarn 上运行,因此我们必须调整全局配置而不是 /usr/lib/spark/conf
几个建议:
在 dataproc 上,我们有几个 gcloud 命令和属性,我们可以在集群创建期间传递。请参阅文档 是否可以通过指定更改 /etc/hadoop/conf 下的 log4j.properties
--properties 'log4j:hadoop.root.logger=WARN,console'
也许不是,从文档中:
--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
但这是否足够,或者我们还需要更改环境变量 hadoop.root.logger 吗?