gpt4 book ai didi

logging - 在 dataproc 上调整 Spark 日志级别的最优雅和最健壮的方法是什么?

转载 作者:行者123 更新时间:2023-12-03 16:42:46 24 4
gpt4 key购买 nike

如之前的答案所述,更改 Spark 集群详细程度的理想方法是更改​​ corresponding log4j.properties .但是,在 dataproc 上 Spark 运行在 Yarn 上,因此我们必须调整全局配置而不是/usr/lib/spark/conf

几个建议:

在 dataproc 上,我们可以在集群创建期间传递几个 gcloud 命令和属性。 See documentation
是否可以通过指定更改/etc/hadoop/conf 下的 log4j.properties

--properties 'log4j:hadoop.root.logger=WARN,console'

也许不是,如文档所示:

The --properties command cannot modify configuration files not shown above.



另一种方法是在集群初始化期间使用 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 呢?

最佳答案

目前,您是对的 --properties不支持额外的 log4j 设置,但这肯定是我们讨论过要添加的;一些考虑因素包括与保持最小/简单设置相比,对 Spark vs Yarn 进行细粒度控制的能力与其他长时间运行的守护进程的日志配置(hiveserver2、HDFS 守护进程等)进行多少平衡以一种共享的方式。

至少对于 Spark 驱动程序日志,您可以使用 --driver-log-levels设置作业提交时间应优先于任何 /etc/*/conf设置,但正如您所描述的,init 操作是现在在集群启动时编辑文件的合理方法,请记住它们可能会随着时间和版本而变化。

关于logging - 在 dataproc 上调整 Spark 日志级别的最优雅和最健壮的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36173601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com