У нас довольно сложное приложение, которое работает на Spark Standalone. В некоторых случаях задачи от одного из рабочих блокируются случайным образом в течение бесконечного периода времени в состоянии RUNNING.Исправленные задачи блокируются случайным образом на автономном кластере
Дополнительная информация:
- там нет никаких ошибок в журналах
- побежал с регистратором в отлаживать и я не видел каких-либо соответствующих сообщений (я вижу, когда задачи начинается, но тогда для этого нет активности)
- рабочие места работают нормально, если у меня только 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
1) Не могли бы вы извлечь какой-то код, который фактически блокирует? 2) Вы проверили журналы GC 3) Используете ли вы какую-то форму блокировки потоков/внутрипоточную многопоточность? –
1) Приложение довольно сложно, и я не смог найти фактическую часть, вызывающую блок. 2) Нет проблем в журналах. Даже если это проблема с gc/memory, она будет вести себя одинаково для одной и той же работы. Теперь та же самая работа заканчивается почти все время за несколько секунд, но случайным образом она блокируется. 3) Никакая другая форма механизма многопоточности/блокировки не используется – BBogdan