Мое искровое приложение, которое работает на кластере пряжи, упало, и я пытаюсь определить основную причину.В журналах, которые я получил из пряжи с помощью yarn logs -applicationId <application_id>
, я вижу, что целая группа соединений отказалась во время выборок блоков и одна ошибка нехватки памяти.Трудно сказать, что является основной причиной.У меня вопрос, что происходит, когда контейнер убит из-за исключения OutOfMemory.Таким образом, в журналах контейнера я вижу, как исполнитель запускается на контейнере
exec / bin / bash -c "LD_LIBRARY_PATH =" / usr / hdp / current / hadoop-client / lib /native: / usr / hdp / current / hadoop-client / lib / native / Linux-amd64-64: $ LD_LIBRARY_PATH "$ JAVA_HOME / bin / java -server -Xmx5120m '-DENVIRONMENT = pt' -Djava.io.tmpdir = $PWD / tmp '-Dspark.history.ui.port = 18081' -Dspark.driver.port = 39112 '-Dspark.yarn.app.container.log.dir = / hadoop / hdfs / drive5 / hadoop / yarn / log/ application_1539650094881_0116 / container_e111_1539650094881_0116_01_000024 -XX: OnOutOfMemoryError = 'kill% p' org.apache.spark.executor.CoarseGrainedExecutorBackend --driver-url искатель - в узле - ловушка для 133-го клиента.hadoop.tsl.com --cores 5 --app-id application_1539650094881_0116 - файл пути к классу пользователя: $ PWD / app .jar 1> / hadoop / hdfs / drive5 / hadoop / yarn / log/ application_1539650094881_0116 / container_e111_1539650094881_0116_01_000024 / stdout 2> / hadoop / hdfs / drive5 / hadoop / yarn /log / application_1539650094881_0116 / container_e111_1539650094881_0116_01_000024 / stderr "
Таким образом, данный контейнер получает OutOfMemory на более позднем этапе.Будет ли в этом случае возникать попытка получить новый контейнер или это приведет к сбою приложения?
Я также вижу много Container killed by YARN for exceeding memory limits. 6.0 GB of 6 GB physical memory used. Consider boosting spark.yarn.executor.memoryOverhead
.Кажется, их много, пока приложение не рухнуло.Искра повторяет ли пороговое количество раз, чтобы перезапустить контейнер?