从 Spark Java 应用程序登录 Azure
Logging in Azure from a Spark Java application
我们正在尝试在 Azure HDInsight linux 集群中开发一个 spark java 应用程序。我们已经能够通过 Livy 提交申请并且它工作正常。
我们面临的问题与日志记录有关。我们如何在这里使用 log4j,因为如果我们使用 RollingFileAppender,那么我们必须放置输出 .log 文件的路径。在我们的例子中,我们必须将日志写入 blob 存储。但是我们认为正常的日志记录是行不通的。
我们发现 Azure 本身通过 Azureinsights 提供了一些日志记录机制,但我猜所有这些都是为 Web 项目制作的,并且不适用于我们的 java 应用程序。
你能帮我看看我们如何从 spark java 应用程序实现应用程序日志记录吗?将来组织中的人可能会考虑使用类似 Splunk 的工具来处理日志。
期待您的帮助。
谢谢,
沙米克。
根据我的理解,我想你是想把日志写到blob存储或者基于Blob Storage的HDFS中。
所以对于登录blob存储的容器,我的建议是可以尝试使用log4j
的第三方appender,比如AzureLogAppender. Or the other way for logging into the table storage is that using these appenders for log4j
, such as log4j-azure and azure-log4j.
如果想将日志写入Azure上的HDFS,有以下两种方式。
- 你可以参考article为log4j写一个自定义appender
- 使用 Apache Flume appender for Log4j to send logs to Flume which writes to HDFS, that you can refer to the blog 了解如何将 Flume 与 Azure HDInsight 一起使用。
我们正在尝试在 Azure HDInsight linux 集群中开发一个 spark java 应用程序。我们已经能够通过 Livy 提交申请并且它工作正常。
我们面临的问题与日志记录有关。我们如何在这里使用 log4j,因为如果我们使用 RollingFileAppender,那么我们必须放置输出 .log 文件的路径。在我们的例子中,我们必须将日志写入 blob 存储。但是我们认为正常的日志记录是行不通的。
我们发现 Azure 本身通过 Azureinsights 提供了一些日志记录机制,但我猜所有这些都是为 Web 项目制作的,并且不适用于我们的 java 应用程序。
你能帮我看看我们如何从 spark java 应用程序实现应用程序日志记录吗?将来组织中的人可能会考虑使用类似 Splunk 的工具来处理日志。
期待您的帮助。
谢谢, 沙米克。
根据我的理解,我想你是想把日志写到blob存储或者基于Blob Storage的HDFS中。
所以对于登录blob存储的容器,我的建议是可以尝试使用log4j
的第三方appender,比如AzureLogAppender. Or the other way for logging into the table storage is that using these appenders for log4j
, such as log4j-azure and azure-log4j.
如果想将日志写入Azure上的HDFS,有以下两种方式。
- 你可以参考article为log4j写一个自定义appender
- 使用 Apache Flume appender for Log4j to send logs to Flume which writes to HDFS, that you can refer to the blog 了解如何将 Flume 与 Azure HDInsight 一起使用。