Apache spark spark提交过程不会在作业自动完成后终止

Apache spark spark提交过程不会在作业自动完成后终止,apache-spark,pyspark,spark-submit,Apache Spark,Pyspark,Spark Submit,我在Thread上以客户端模式使用spark submit提交pyspark作业 spark-submit \ --name $APP_NAME \ --master yarn \ --deploy-mode client \ --num-executors 16 \ --executor-cores 1 \ --driver-memory 6g \ -

我在Thread上以客户端模式使用spark submit提交pyspark作业

spark-submit   \
          --name $APP_NAME \
          --master yarn \
          --deploy-mode client \
          --num-executors 16 \
          --executor-cores 1 \
          --driver-memory 6g \
          --executor-memory 2g \
          
          --py-files myfile.py
            --version 2.3 
这项工作成功完成,我可以在Spark历史记录以及纱线中验证这一点。 即使在作业完成后,我仍然可以看到spark提交进程正在运行,并且不会终止

我想从调用提交作业的调用程序(Jenkins使用通过ssh发布插件)返回作业状态。有没有办法确保spark提交过程在完成作业后以正确的退出代码终止

我已经尝试停止spark上下文,并将退出状态放在python脚本的末尾。这仍然不起作用

sc.stop()
sys.exit(0)
这是随机发生的,主要是针对长时间运行的作业。
我看不出集群模式有任何问题。

您可以编写unix shell脚本,然后通过$检查starus的命令

  spark-submit   \
      --name $APP_NAME \
      --master yarn \
      --deploy-mode client \
      --num-executors 16 \
      --executor-cores 1 \
      --driver-memory 6g \
      --executor-memory 2g \
      
      --py-files myfile.py
        --version 2.3 
然后,您可以检查状态并添加条件

   if [ $? -eq 0 ];then
       echo 'Success'
    else
       'fail'
   fi

您可以将conf
--deploy mode
更改为
cluster
,然后重试