gpt4 book ai didi

java - Spark-Submit 作业日志跟踪

转载 作者:太空宇宙 更新时间:2023-11-04 09:33:00 25 4
gpt4 key购买 nike

我正在 yarn 模式下运行 Spark 作业。我正在使用 Spark-submit 在 Unix shell 脚本内运行作业。我想将 Unix 文件夹上的 Spark-submit 命令日志保留在日志文件中。

我试过了

spark-submit --master yarn --deploy-mode client --num-executors 10 --executor-memory 2G --driver-memory 2G --jars $spark_jars --class $spark_class  $main_jar |& tee -a ${log_file}

使用 tee 命令。然后我检查上述命令的状态为

if [ $? -eq 0 ]; then
echo "===========SPARK JOB COMPLETED==================" |& tee -a ${log_file}
else
echo "===========SPARK JOB FAILED=====================" |& tee -a ${log_file}
fi

但是如果 Spark 作业由于某些问题或异常而失败,$?没有正确捕获错误,而是完成了 Spark 作业。

任何人都可以建议处理此问题的推荐方法。

我的要求是在文件中包含 Spark 日志和 Unix 脚本日志

最佳答案

监控应用程序状态的最佳方法是使用yarn Rest api。

https://docs.hortonworks.com/HDPDocuments/HDP3/HDP-3.1.0/data-operating-system/content/using_the_yarn_rest_apis_to_manage_applications .

https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Application_State_API

您可以使用yarn log命令来记录日志,或者使用yarn api来记录日志。

yarn 日志 -appOwner 'dr.who' -applicationId application_1409421698529_0012 |少

关于java - Spark-Submit 作业日志跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56852779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com