Разница между SPARK_WORKER_CORES и SPARK_EXECUTOR_CORES?

#apache-spark #apache-spark-standalone

#apache-spark #apache-spark-standalone

Вопрос:

как настроить количество ядер для SPARK_WORKER_CORES и SPARK_EXECUTOR_CORES при использовании автономного менеджера кластеров.

Комментарии:

1. Пожалуйста, проведите свое исследование и задайте более конкретный вопрос.

Ответ №1:

Согласно документации spark здесь

SPARK_WORKER_CORES : общее количество ядер, позволяющее приложениям Spark использовать на компьютере (по умолчанию: все доступные ядра).

например: если у вас кластер из 5 узлов (1 master и 4 slavenode) и конфигурация каждого узла состоит из 8 ядер и 32 ГБ оперативной памяти … таким образом, используя SPARK_WORKER_CORES, мы можем настроить, сколько ядер spark может использовать на одного работника (т. е. узел). Значение по умолчанию — использовать все ядра.(подсказка: нам также нужно оставить в стороне 2 ядра для OS и 1 ядро для NM и 1 для демонов Spark)

SPARK_EXECUTOR_CORES : это свойство предназначено для управления ядрами на уровне исполнителя. spark может запускать множество исполнителей для каждого рабочего (т. е. узла) в зависимости от доступности ресурсов. это условие должно выполняться всегда (SPARK_EXECUTOR_CORES < SPARK_WORKER_CORES)

если вы настроите SPARK_WORKER_CORES = 5 ядер и SPARK_EXECUTOR_CORES = 1, то spark сможет запускать 5 исполнителей на каждой машине.

примечание: Свойство SPARK_WORKER_CORES имеет смысл только при запуске spark в автономном режиме Spark.