2016-02-04 136 views
0

我有一个spark-streaming应用程序,我想使用Elasticsearch-Kibana分析作业的日志。我的作业在纱线群集上运行,因此我将日志写入HDFS,因为我已将yarn.log-aggregation-enable设置为true。但是,当我尝试这样做:Apache Spark:纱线日志分析

hadoop fs -cat ${yarn.nodemanager.remote-app-log-dir}/${user.name}/logs/<application ID>

我看到了一些加密/压缩数据。这是什么文件格式?我怎样才能从这个文件中读取日志?我可以使用logstash来读取它吗?

此外,如果有更好的方法来分析Spark日志,我接受你的建议。

谢谢。

+0

你能尝试使用-cat的-text呢? hadoop fs -text ... – facha

+0

试过了。还是一样的结果。 – void

+0

只是想知道是否有任何API将这种类型的文件转换为文本文件..纱线日志无论如何不正确 – void

回答

3

该格式被称为TFile,它是一种压缩文件格式。

但是纱线选择将应用程序日志写入TFile!对于那些不知道TFile是什么的人(我敢打赌很多你不知道),你可以在这里了解更多,但是现在这个基本定义应该足够了。“TFile是一个关键的容器值对。键和值都是无类型字节“。

Splunk/Hadoop Rant

有可能是编辑纱和斯巴克的log4j.propertiessend messages to Logstash using SocketAppender

但是从某种意义上说,that method is being deprecated