Spark 2.0.0独立PySpark作业在完成后挂起

时间:2016-12-16 14:34:57

标签: apache-spark pyspark

我在Spark 2.0.0 Standalone上运行PySpark作业。我的工作成功完成(如UI和输出文件所示),但是火花环境永远不会关闭,我的工作仍然有效。

我正在使用以下spark-submit语句:

./bin/spark-submit --master ${sparkmaster} --executor-memory 16g --num-executors 45 --executor-cores 3 --verbose /home/spark_mr1mr2.py

这是我的PySpark脚本的结尾:

.coalesce(1,shuffle=True).saveAsTextFile("mr2out"+os.environ.get("RUN_NAME")+"/", codec) 
exit()

以下是最后的日志消息:

16/12/15 23:11:06 INFO BlockManagerInfo: Removed broadcast_0_piece0 on 192.168.14.250:33654 in memory (size: 20.1 KB, free: 8.4 GB)
16/12/15 23:11:06 INFO ContextCleaner: Cleaned accumulator 0

如何才能成功完成工作并彻底退出?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

通常,优雅地停止spark应用程序的方法是在SparkContext对象上调用stop()。如果您正在使用SparkSession,您也可以在其上调用stop(),因为它所做的就是停止底层的SparkContext。

很可能sc.stop()或spark.stop()而不是exit()会修复它。