Как настроить параметр искровой работы в соответствии с доступными узлами?
Как я могу установить --num-executors
, --executor-cores
а также --executor-memory
через задание по сланму в следующем сценарии:
Предположим, у меня есть 2 узла с 32 ядрами и 128 г каждый. Лучшая конфигурация (я думаю) будет:
- Давайте назначим 4 ядра
per executors
=>--executor-cores = 4
, - Покидать
1 core per node
для демонов Hadoop/Yarn => Количество ядер, доступных для каждого узла = 32-1 = 31. Таким образом, общее количество доступных ядер в кластере = 31 x 2 = 62 - Количество доступных исполнителей = (общее количество ядер / num-core-per-executor) = 62/4 = 15
- Оставив 1 исполнителя для ApplicationManager =>
--num-executors = 14
- Количество исполнителей на узел = 15/2 = 7
- Память на исполнителя = 127 ГБ /7 = 18 ГБ
- Отсчет кучи накладных расходов = 7% от 18 ГБ = 1,26 ГБ ~ 2g. Итак, актуально
--executor-memory = 18 - 2 = 16GB
Итак, используя эту (оптимальную) конфигурацию, как я могу настроить эти параметры в задании Slurm?