当前位置: 首页 > 知识库问答 >
问题:

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

宗波涛
2023-03-14

我正在提交一个pyspark作业,在客户机模式下使用spark提交。

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插件发布)。有什么方法可以确保火花提交过程在完成作业后以正确的退出代码终止?

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

sc.stop()
sys.exit(0)

这主要发生在长时间运行的作业中。我看不出集群模式有任何问题。

共有2个答案

闾丘博
2023-03-14

您可以将conf--部署模式更改为集群并重试。

盖嘉珍
2023-03-14

您可以编写unix外壳脚本,然后您可以通过$?

  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
 类似资料:
  • 其实我是用条形码扫描器来输入字段的。如果我有3个字段,那就是: 物料条码: 物料条码: 序列条码: 步骤: 1。在物料条形码文本字段 2中扫描物料条形码。扫描条形码“项目条形码”文本字段 3中的项目条形码。在串行条码文本字段中对串行条码进行扫描,扫描后自动提交。 那么问题来了,如果所有的字段都填好了,怎么自动提交呢? 谢谢你。

  • 正如标题所说,如果它是自动完成的,它不会提交到数据库,但如果它没有自动完成,它会提交到数据库。我不想禁用自动完成,我不知道它为什么这样做。我的MAMP文件夹中的PHP和MySQL日志文件也没有错误。最后,它会重定向到确认页面,即使它在自动填充时没有提交到数据库。 我的代码: 失败的 HTTP 开机自检请求: 请求URL:http://localhost:5757/private-events/?c

  • im关注亚马逊文档,向emr集群提交spark作业https://aws.amazon.com/premiumsupport/knowledge-center/emr-submit-spark-job-remote-cluster/ 在按照说明进行操作后,使用frecuent进行故障排除,它由于未解析的地址与消息类似而失败。 错误火花。SparkContext:初始化SparkContext时出错

  • 我对火花世界很陌生。在我们的应用程序中,我们有一个内置的Spark独立集群(版本2.4.3),它通过Spark提交主URL接收由主数据引擎加载器应用程序提交的作业。 我们在不同的VM上有3个工作从节点。有趣的是,由于一些IOException,我以一种非常有限和神秘的格式发布,以限制系统内部。Master假设它需要一次又一次地向同一个员工重新提交相同的作业/申请(数千次中的10次) 我的查询是:我

  • 在集群UI上- 工人(奴隶)-工人-20160712083825-172.31.17.189-59433活着 已使用2个中的1个核心 活动阶段 /root/wordcount.py处的reduceByKey:23 悬而未决阶段 根据TaskSchedulerImpl:初始作业尚未接受任何资源;我分配的 火花环境变量 在奴隶身上复制了那些 Spark版本1.6.1 Ubuntu Amazon EC2

  • 下面是JobLauncher.run()返回的JobExecution的内容,它发出作业运行成功的信号。 JobExecution:ID=0,Version=2,StartTime=Fri Nov 27 06:05:23 CST 2015,EndTime=Fri Nov 27 06:05:39 CST 2015,LastUpdated=Fri Nov 27 06:05:39 CST 2015,St