2016-07-31 76 views
6

我有一个很长的火花任务,目前有少量任务被停止。有没有办法从驱动程序节点中杀死那些停滞的任务?杀死一个单一的火花任务

出于许可原因,我可以登录,但不能杀死从属节点上的作业,所以我正在寻找一种单独从驱动程序节点执行此操作的方法。请注意,我不想杀死整个Spark作业 - 只有一两个停滞的任务。

如果有帮助,我使用Mesos并有权访问Web UI,但不包含杀死任务的选项。

回答

5

不,不是真的。

你不能手动杀死一个单独的火花任务,但是你可以使用火花推测来自动确定哪些任务需要很长时间并主动重启它们。

如果要这样做,请将spark.speculation设置为true,并且[如果您敢于]修改spark.speculation.interval,spark.speculation.multiplierspark.speculation.quantile配置选项。

相关文档: http://spark.apache.org/docs/latest/configuration.html#viewing-spark-properties

相关SO:How to deal with tasks running too long (comparing to others in job) in yarn-client?

+0

星火UI似乎让你去杀死单独的任务,我认为他们重新安排和工作的下一次。这似乎表明有一个API用于查杀任务。尽管如此,这可能需要大量的手动工作。我正在经历同样的问题,目前猜测正在导致其他问题,所以我正在争论。 –

+1

Spark UI可以让你杀死作业阶段,但我不知道任何杀死个人作业任务的功能。用户界面中的任务可能在哪里死亡? – Garren

+0

你是对的,我的道歉。我使用了错误的术语,并且正在考虑阶段。 –