我有一个Spark-streaming应用程序,我想使用Elasticsearch-Kibana分析作业的日志。我的工作是在纱线群集上运行,所以当我将yarn.log-aggregation-enable
设置为true时,日志会写入HDFS。但是,当我尝试这样做时:
hadoop fs -cat ${yarn.nodemanager.remote-app-log-dir}/${user.name}/logs/<application ID>
我看到一些加密/压缩数据。这是什么文件格式?如何从此文件中读取日志?我可以使用logstash来阅读吗?
此外,如果有更好的方法来分析Spark日志,我愿意接受您的建议。
感谢。
答案 0 :(得分:3)
格式称为TFile,它是压缩文件格式。
然而,纱线选择将应用程序日志写入TFile !!对于那些不知道TFile是什么的人(我打赌很多你没有),你可以在这里了解更多,但是现在这个基本定义应该足够了“TFile是关键的容器 - 值对。键和值都是无类型字节“。
可能有一种方法可以编辑YARN和Spark的log4j.properties
到send messages to Logstash using SocketAppender