【发布时间】:2014-04-28 18:52:57
【问题描述】:
我希望能够全面了解我的 spark 作业。
我在创建 RDD 的机器上使用 log4j,并且分发的各种作业也使用 log4j。这最终得到一个本地日志文件,然后是作业分发到的每个节点上的日志文件。
是否有一些内置方法可以将所有这些日志组合在一起?必须同时查看服务器机器 + 每个节点是很痛苦的。
我环顾了一下,可能有两种选择:
- 使用 JobLogger 之类的工具(使用 Spark 侦听器)。
- 使用套接字附加程序,或类似 Flume 的东西
大家在处理分布式日志方面有什么经验?
【问题讨论】:
-
你试过LogMX吗?它可以在一个视图中合并多个日志文件并实时监控这个合并的视图(支持SCP/FTP/SFTP/HTTP/...)
-
也许可以使用类似的东西——但如果可能的话,我真的想找到一些以 Spark 为中心的东西,或者是 Spark 世界中最常见的做法,来做到这一点。现在,我创建了一个程序,我可以传递应用程序作业 ID,它将转到我集群中的所有节点(通过 ssh)并将 stdout 和 stderr 文件复制到本地......
-
嗨,格雷格,您找到解决问题的方法了吗?我有类似的要求,任何见解都会有所帮助。谢谢。
-
我最终创建了一个自定义脚本来执行此操作 - 传入主机列表,它会提取所有日志。
标签: log4j apache-spark