对于Spark结构化流应用程序,将流日志记录到CloudWatch Logs的最佳方法是什么?

时间:2019-01-08 01:03:38

标签: apache-spark amazon-cloudwatch spark-structured-streaming amazon-cloudwatchlogs

我能想到的最简单的解决方案是将CloudWatch Logs的附加程序附加到Log4J(例如https://github.com/kdgregory/log4j-aws-appenders)。问题是这将无法捕获YARN日志,因此,如果YARN完全无法启动应用程序,则有关此失败的信息将无法到达CloudWatch。

另一种选择是将所有spark-submit输出(stdinstdout)转发到文件,并使用CloudWatch Logs代理(安装在主服务器上)来流式传输所有内容。这些都是简单的文本,因此我需要处理日志并提取日期,级别等。

我正在AWS EMR上运行我的应用程序。不能选择S3日志,因为它们本质上是归档日志,而不是实时日志。

0 个答案:

没有答案