我提交一个Spark作业使用下面的命令。我想使用应用程序id跟踪yarn日志,类似于linux box中的tail命令操作。
export SPARK_MAJOR_VERSION=2
nohup spark-submit --class "com.test.TestApplication" --name TestApp --queue queue1 --properties-file application.properties --files "hive-site.xml,tez-site.xml,hbase-site.xml,application.properties" --master yarn --deploy-mode cluster Test-app.jar > /tmp/TestApp.log &
2条答案
按热度按时间w8biq8rn1#
不容易。
“Yarn日志”其实并不在Yarn中,它们实际上在spark的执行器节点上。如果启用了yarn日志聚合,则日志位于hdfs中,并且可以从spark history server获得。
行业部署模式是将spark log4j属性配置为使用日志转发器(如filebeat、splunk、fluentd)写入文件,然后这些进程将数据收集到搜索引擎(如solr、elasticsearch、graylog、splunk等)中。通过这些工具,您可以在cli之外大致跟踪/搜索/分析日志消息。
fcipmucu2#
如果你所说的“Yarn日志”是指你的执行者的日志,你可以很容易地看到它,如果你有权访问提交Yarn作业的执行者机器,你可以跟踪它。你要做的只是:
在执行器上。如果配置正确,可以在yarn ui中查看主日志。