我有一个非常长的Spark作业,其中少数任务目前处于停滞状态。有没有办法从驱动节点杀死这些停滞的任务?
由于权限限制,我可以登录但无法在从节点上杀死作业,因此我正在寻找一种仅从驱动节点完成此操作的方法。请注意,我不想杀死整个Spark作业,只是其中一个或两个停滞的任务。
如果有帮助的话,我正在使用Mesos并且可以访问Web UI,但该选项不包含杀死任务的选项。
我有一个非常长的Spark作业,其中少数任务目前处于停滞状态。有没有办法从驱动节点杀死这些停滞的任务?
由于权限限制,我可以登录但无法在从节点上杀死作业,因此我正在寻找一种仅从驱动节点完成此操作的方法。请注意,我不想杀死整个Spark作业,只是其中一个或两个停滞的任务。
如果有帮助的话,我正在使用Mesos并且可以访问Web UI,但该选项不包含杀死任务的选项。
不行,你无法手动杀死一个独立的Spark任务,但是你可以使用Spark Speculation自动检测哪些任务执行时间过长并主动重启它们。
如果你想这么做,将spark.speculation
设置为true,然后[如果你敢的话]修改spark.speculation.interval
、spark.speculation.multiplier
、spark.speculation.quantile
等配置选项。
相关文档: http://spark.apache.org/docs/latest/configuration.html#viewing-spark-properties