Apache Spark Log4j日志记录applicationId

时间:2019-07-22 09:18:47

标签: apache-spark logging log4j

我想将applicationId添加到Spark通过Log4j生成的所有日志中。考虑到我有一个集群,其中运行着几个作业,因此applicationId的存在对于逻辑上划分它们很有用。

我找到了部分解决方案。如果更改PatternLayout记录器的布局,则可以添加ThreadContext的打印(请参见here),该打印件可以用于通过MDC添加applicationId的信息(请参见here)。这适用于驱动程序,但是我想在Spark应用程序启动时为驱动程序和工作程序添加此信息。请注意,我正在使用托管环境(Databricks),因此我在群集管理方面受到了部分限制。通过MDC向所有工作程序执行参数放置的一种解决方法是使用广播变量并对其执行操作,但是我认为它不是稳定的,因为考虑到工作程序计算机重新启动或正在运行时也应工作替代。

谢谢

0 个答案:

没有答案