2016-09-13 4 views
2

У нас довольно сложное приложение, которое работает на Spark Standalone. В некоторых случаях задачи от одного из рабочих блокируются случайным образом в течение бесконечного периода времени в состоянии RUNNING.Исправленные задачи блокируются случайным образом на автономном кластере

Blocked tasks

Дополнительная информация:

  • там нет никаких ошибок в журналах
  • побежал с регистратором в отлаживать и я не видел каких-либо соответствующих сообщений (я вижу, когда задачи начинается, но тогда для этого нет активности)
  • рабочие места работают нормально, если у меня только 1 работник
  • То же самое задание может выполняться во второй раз без ny вопросов, в надлежащее количество времени
  • У меня нет действительно больших разделов, которые могут вызвать задержки для некоторых задач.
  • в искровом 2.0 я перешел от RDD к наборам данных, и у меня такая же проблема
  • in spark 1.4 i смог преодолеть проблему, включив спекуляции, но в искровом 2.0 задачи блокировки - от разных работников (в то время как в 1.4 у меня есть блокирующие задачи только для одного работника), поэтому спекуляция не устраняет мою проблему.
  • У меня проблема с другими средами, поэтому я не думаю, что это связано с оборудованием.

Кто-нибудь испытал что-то подобное? Любые предложения о том, как я могу определить проблему?

Большое спасибо!

Позже Edit: Я думаю, что я столкнулся тот же вопрос, описанный здесь: Spark Indefinite Waiting with "Asked to send map output locations for shuffle" и здесь: http://apache-spark-user-list.1001560.n3.nabble.com/Spark-stalling-during-shuffle-maybe-a-memory-issue-td6067.html но оба без рабочего раствора.

Последнее, что в журнале повторяется бесконечно это: [диспетчер-событийно-петля-18] DEBUG org.apache.spark.scheduler.TaskSchedulerImpl - parentName:, имя: TaskSet_2, runningTasks: 6

+0

1) Не могли бы вы извлечь какой-то код, который фактически блокирует? 2) Вы проверили журналы GC 3) Используете ли вы какую-то форму блокировки потоков/внутрипоточную многопоточность? –

+0

1) Приложение довольно сложно, и я не смог найти фактическую часть, вызывающую блок. 2) Нет проблем в журналах. Даже если это проблема с gc/memory, она будет вести себя одинаково для одной и той же работы. Теперь та же самая работа заканчивается почти все время за несколько секунд, но случайным образом она блокируется. 3) Никакая другая форма механизма многопоточности/блокировки не используется – BBogdan

ответ

0

вопрос был исправлен для меня, выделив только одно ядро ​​для каждого исполнителя. Если у меня есть исполнители с более чем 1 ядром, проблема появляется снова. Я еще не понял, почему это происходит, но для тех, у кого есть аналогичная проблема, они могут попробовать это.

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