如何禁用Dataproc集群Yarn日志以降低GCS Bucket的Class A操作成本
解决Yarn日志持续写入GCS导致Class A操作成本过高的问题
核心配置修改建议
- 无需同时移除两个配置项,仅将
yarn.log-aggregation-enable的值设置为false就能禁用Yarn日志聚合到GCS的功能。yarn.nodemanager.remote-app-log-dir配置在日志聚合禁用后会被自动忽略,保留或移除它都不影响最终效果。 - 后续需要重新启用日志聚合时,只需将
yarn.log-aggregation-enable改回true即可。如果之前移除了yarn.nodemanager.remote-app-log-dir,可以重新添加该配置并指定目标GCS路径,或者使用集群默认路径。
禁用配置后日志仍写入GCS的排查方案
如果修改配置后Yarn日志依旧写入GCS,可按以下步骤排查:
- 确保配置生效
修改yarn-site.xml后必须重启Yarn服务,否则旧配置会持续生效。执行以下命令重启服务:sudo systemctl restart yarn-resourcemanager sudo systemctl restart yarn-nodemanager - 检查Dataproc集群默认配置
若使用GCP Dataproc集群,集群层面的初始化动作或默认配置可能覆盖了你的修改。通过以下命令查看实际生效的Yarn配置:
在输出中找到gcloud dataproc clusters describe <你的集群名称> --region <集群所在区域>config.yarnConfig部分,确认yarn.log-aggregation-enable是否为false。 - 排查本地日志同步机制
Yarn NodeManager的本地日志可能被Dataproc日志代理或其他工具自动同步到GCS。检查yarn.nodemanager.log-dirs配置的本地路径(默认是/var/log/yarn/containers),确认是否有第三方进程在上传这些本地日志到GCS。 - 检查作业级别的配置覆盖
部分Spark作业可能通过提交参数覆盖了集群级配置。检查作业提交命令中是否包含类似--conf spark.yarn.log.aggregation.enable=true的参数,若有则移除该参数。
内容的提问来源于stack exchange,提问作者Vikrant Singh Rana
相关产品推荐
相关产品推荐

