无法从dataproc.googleapis.com获取Dataproc作业日志的咨询
Dataproc作业日志:同时通过API与Yarn日志获取的可行性及配置方案
完全可以同时通过Dataproc API和Yarn日志获取作业日志,两者属于独立的日志采集链路,只要配置正确就能同时生效。
当前无法通过dataproc.googleapis.com获取日志的可能原因
结合你已启用的集群配置,排查以下几点:
- 服务账号权限缺失:集群使用的服务账号未被授予
roles/logging.logWriter角色,导致日志无法写入Cloud Logging(原Stackdriver),进而无法通过Dataproc API查询。 - 日志写入延迟:作业结束后,日志同步到Cloud Logging需要几分钟时间,可等待片刻后再尝试查询。
- 作业类型限制:Dataproc的Cloud Logging采集支持Spark、MapReduce、Hive、Pig等主流作业,自定义脚本类作业可能需要额外配置才能被采集。
确保两种采集方式同时生效的配置要点
1. 修复Dataproc API日志获取问题
- 验证服务账号权限:检查集群服务账号(默认或自定义)是否拥有
roles/logging.logWriter角色,若没有,为该账号添加此角色。 - 确认日志参数配置:你已启用的
dataproc:dataproc.logging.stackdriver.enable和dataproc:dataproc.logging.stackdriver.job.driver.enable参数正确,若需要采集executor日志,可追加配置:"dataproc:dataproc.logging.stackdriver.job.executor.enable": "true" - 检查查询过滤条件:通过Dataproc API查询时,确保指定了正确的作业ID、集群ID,或过滤日志来源为
dataproc.googleapis.com。
2. 保留Yarn日志采集功能
你已启用的dataproc:yarn.log-aggregation.enabled": "true"配置会将Yarn容器日志聚合到HDFS或GCS(需配置yarn.nodemanager.remote-app-log-dir指向GCS路径),可通过yarn logs -applicationId <应用ID>命令或直接访问存储路径获取日志,该配置与Cloud Logging采集不冲突,可同时运行。
总结:只要完成上述权限和配置检查,就能同时通过Dataproc API(依托Cloud Logging)和Yarn日志两种途径获取作业日志,适配不同的日志查询场景。
内容的提问来源于stack exchange,提问作者maries
相关产品推荐
相关产品推荐

