我正在尝试设计一个集成测试框架。我将运行一些jar,这些jar是用scala编写的,并运行spark进程 spark-submit --master yarn 命令。在运行这个jar时,有没有什么方法可以让我提交一些id或名称来帮助我找到哪个jar调用了哪个yarn进程,这样就更容易调试了?编辑:我不能在scala中编辑代码,我唯一能做的就是在我的环境中运行jar。
spark-submit --master yarn
zi8p0yeb1#
你可以用 spark-submit 期权 --name [spark_job_name] 给你的工作起名,然后很容易认出他。
spark-submit
--name [spark_job_name]
cnjp1d6j2#
您可以使用申请名称检查spark提交的Yarn申请。答。使用应用程序名称参数提交spark应用程序。
SparkSession.builder.appName("spark-app-name")......
b。使用appname检查应用程序id。
yarn application -list | awk '$2 == "spark-app-name" {print $1}'
c。获得应用程序id后,可以使用yarn rest api检查yarn应用程序的状态:
http://<RM_HOST>:8088/ws/v1/cluster/apps/$job_id/state
2条答案
按热度按时间zi8p0yeb1#
你可以用
spark-submit
期权--name [spark_job_name]
给你的工作起名,然后很容易认出他。cnjp1d6j2#
您可以使用申请名称检查spark提交的Yarn申请。
答。使用应用程序名称参数提交spark应用程序。
b。使用appname检查应用程序id。
c。获得应用程序id后,可以使用yarn rest api检查yarn应用程序的状态: