2016-07-31 2 views
6

У меня очень длинная работа Spark, из которой в настоящее время застопоривается небольшое количество задач. Есть ли способ убить эти запущенные задачи из узла драйвера?Убить одну задачу искры

По причинам разрешений я могу войти, но не убить задания на подчиненных узлах, поэтому я ищу способ сделать это только из узла драйвера. Обратите внимание, что я не хочу убивать всю работу Spark - всего одну или две застопорившиеся задачи.

Если это помогает, я использую Mesos и имею доступ к веб-интерфейсу, но это не содержит возможности убить задачу.

ответ

5

Нет, не совсем.

Вы не можете убить отдельную задачу искры вручную, однако вы можете использовать спекуляцию искры, чтобы автоматически определять, какие задачи занимают слишком много времени, и перезапустить их проактивно.

Если вы хотите сделать это, установите spark.speculation истину и [если вы решитесь] изменить spark.speculation.interval, spark.speculation.multiplier, spark.speculation.quantile параметров конфигурации.

Похожих Docs: 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

Вы правы, мои извинения. Я использовал неправильный термин и думал о этапах. –

Смежные вопросы