获取Dataproc日志到Stackdriver日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取Dataproc日志到Stackdriver日志相关的知识,希望对你有一定的参考价值。

我正在运行Dataproc并使用默认的client-mode提交Spark Jobs。作业的日志在GCP控制台中可见,并在GCS存储桶中可用。但是,我想在Stackdriver Logging中看到日志。

目前,我发现的唯一方法是使用cluster-mode代替。

使用client-mode时有没有办法将日志推送到Stackdriver?

答案

这是Dataproc团队正在积极开展的工作,应该很快就会为您提供解决方案。如果您要提交跟踪此功能的公共功能请求,这是一个选项,但是当您可以使用此功能时,我会尝试更新此响应。

稍微深入一点,在使用集群模式时可以看到日志的原因是我们有Fluentd配置,默认情况下会选择YARN容器日志(用户日志)。在集群模式下运行时,驱动程序在YARN容器中运行,并且该配置将拾取这些日志。

目前,驱动程序生成的输出由Dataproc代理直接转发给GCS。将来可以选择在启动集群时将所有驱动程序输出发送到Stackdriver。

更新:

此功能现在处于测试阶段且使用稳定。创建群集时,可以使用属性“dataproc:dataproc.logging.stackdriver.job.driver.enable”来切换群集是否将作业驱动程序日志发送到Stackdriver。此外,您可以使用属性“dataproc:dataproc.logging.stackdriver.job.yarn.container.enable”使集群将YARN容器日志与它们创建的作业相关联,而不是它们运行的​​集群。

文档可用here

以上是关于获取Dataproc日志到Stackdriver日志的主要内容,如果未能解决你的问题,请参考以下文章

Stackdriver GCP 中的日志保留

具有相同跟踪 ID 的 Stackdriver 日志条目未关联

如何清除 Google Cloud Platform 中的 Stackdriver 日志?

如何在 Stackdriver 中导出以前的日志

为啥 Stackdriver 日志中会间歇性出现空行?

Google StackDriver:如何将其他日志与跟踪日志关联(和嵌套)?