更新时间:2024-11-29 GMT+08:00

为什么Driver进程不能退出

问题

运行Spark Streaming任务,然后使用yarn application -kill applicationID命令停止任务,为什么Driver进程不能退出?

回答

使用yarn application -kill applicationID命令后Spark只会停掉任务对应的SparkContext,而不是退出当前进程。如果当前进程中存在其他常驻的线程(类似spark-shell需要不断检测命令输入,Spark Streaming不断在从数据源读取数据),SparkContext被停止并不会终止整个进程。

如果需要退出Driver进程,建议使用kill -9 pid命令手动退出当前Driver。