Spark on YARN - Невозможно выделить контейнеры, поскольку запрошенный ресурс превышает максимально допустимое выделение.

Ошибка : приложение YARN неожиданно завершило работу с состоянием FAILED! Дополнительные сведения см. В журналах приложения YARN. 2021-10-12 15:15:30201 Диагностическое сообщение: Неперехваченное исключение: org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException: недопустимый запрос ресурса! Невозможно выделить контейнеры, поскольку запрошенный ресурс превышает максимально допустимое выделение. Запрошенный тип ресурса =[виртуальных ядер], запрошенный ресурс =<память: 7296, виртуальных ядер: 7>, максимально допустимое выделение =<память: 12288, виртуальных ядер: 4>, обратите внимание, что максимально допустимое выделение рассчитывается планировщиком на основе максимального ресурса зарегистрированных NodeManager, которые могут быть меньше настроенного максимального выделения =<memory: 12288, vCores: 128>

Описание ошибок:

Я столкнулся с вышеуказанной проблемой, когда выполнял ту же самую искру-отправку в среде AWS, но эта проблема не возникла, когда я выполнял искру-отправку локально.

Решения:

Я удалил конфигурацию ресурса из spark-submit.

Образец искрового представления:

      spark-submit  --packages com.databricks:spark-csv_2.11:1.2.0,com.Typesafe: config: 1.3.2 --name xyz--class main layer.SparkSessionTest "/opt/code/ReportGenerations-1.0-SNAPSHOT.jar" "/opt/code/ReportGeneration.properties"  "/opt/code/log4j.properties"

1 ответ

Ошибка четко указывает на то, что количество ресурсов, которые вы пытаетесь выделить для своих исполнителей, слишком велико для узлов в вашем кластере пряжи. В вашем конкретном случае кластер настроен так, чтобы иметь 4 ядра в каждом узле, в то время как вы пытаетесь выделить исполнителей с 7 ядрами.

Чтобы решить эту проблему, попробуйте уменьшить количество ядер для каждого исполнителя, используя следующую конфигурацию, предоставленную как флаг в команде spark-submit:

      --executor-cores 2

Итак, искра-отправка будет:

      spark-submit --executor-cores 2 --packages com.databricks:spark-csv_2.11:1.2.0,com.Typesafe: config: 1.3.2 --name xyz--class main layer.SparkSessionTest "/opt/code/ReportGenerations-1.0-SNAPSHOT.jar" "/opt/code/ReportGeneration.properties"  "/opt/code/log4j.properties"

Обратите внимание, что 2 - это всего лишь пример. Максимальное количество ядер, которое вы можете выделить, - 4.

Другие вопросы по тегам