您可以通过Log4J配置Spark日志。如果您只想收集集群中所有应用程序日志(而不是作业日志),则不需要考虑任何设置问题。有关设置log4j配置的一些边缘情况的讨论,请参见SPARK-16784,但如果您只想收集集群中所有应用程序日志(而不是作业日志),则不需要考虑任何这些内容。在ELK方面,有一个针对logstash的log4j输入插件,但已被弃用。幸运的是,废弃插件的文档描述了如何配置log4j以将数据写入FileBeat,并如何设置FileBeat以消耗此数据并将其发送到Logstash实例。这是现在从使用log4j的系统中运送日志的推荐方法。因此,总结一下,将Spark日志传输到ELK的推荐方法是:将您的Spark集群的Log4J配置设置为写入本地文件 运行FileBeat以从这些文件中消费并发送到logstash Logstash将数据发送到Elastisearch 您可以使用Kibana搜索已索引的日志数据