Подтвердить что ты не робот

Как предотвратить искупление исполнителей искры при использовании режима клиента YARN?

Привет, У меня есть одно задание Spark, которое выполняется нормально локально с меньшим количеством данных, но когда я планирую его на YARN для выполнения, я продолжаю получать следующую ОШИБКУ, и медленно все исполнители удаляются из пользовательского интерфейса, и моя работа завершается

15/07/30 10:18:13 ERROR cluster.YarnScheduler: Lost executor 8 on myhost1.com: remote Rpc client disassociated
15/07/30 10:18:13 ERROR cluster.YarnScheduler: Lost executor 6 on myhost2.com: remote Rpc client disassociated

Я использую следующую команду, чтобы запланировать искровое задание в режиме пряжи-клиента

 ./spark-submit --class com.xyz.MySpark --conf "spark.executor.extraJavaOptions=-XX:MaxPermSize=512M" --driver-java-options -XX:MaxPermSize=512m --driver-memory 3g --master yarn-client --executor-memory 2G --executor-cores 8 --num-executors 12  /home/myuser/myspark-1.0.jar

Я не знаю, в чем проблема, пожалуйста, посоветуйте. Я новичок в Spark. Спасибо заранее.

4b9b3361

Ответ 1

У меня была очень похожая проблема. У меня было много исполнителей, которые терялись независимо от того, сколько памяти мы им выделили.

Решение, если вы используете пряжу, заключалось в установке --conf spark.yarn.executor.memoryOverhead=600, альтернативно, если ваш кластер использует mesos, вы можете попробовать --conf spark.mesos.executor.memoryOverhead=600 вместо этого.

Похоже, мы не оставляли достаточной памяти для самого ЯРН и из-за этого погибали контейнеры. После установки у нас были разные ошибки в памяти, но не такая же потерянная проблема с исполнителем.

Ответ 2

Я тоже столкнулся с той же проблемой. Для меня удаление журналов и освобождение большего количества пространства hdfs.