Включение, планирование CPU в YARN действительно улучшит параллельную обработку в искре?

YARN с планировщиком емкости будет учитывать только память при выделении ресурсов для пользовательских запросов. Если я отправлю искровое задание следующим образом: --master yarn --deploy-mode client --driver-memory 4g --executor-memory 4g - -num-executors 1 --executor-cores 3 ", yarn выделит исполнителю 4 ГБ памяти и 1 vcpu, но когда он выполняет задачи, он будет выполнять 3 задачи параллельно.

Использует ли это одно ядро ​​одно для выполнения всех задач как набор из 3 одновременно?

Итак, если я включу планирование ЦП и CGroups (в кластере HDP), будет ли пряжа назначать 3 ядра vcpu и будет ли этот набор из 3 задач выполняться в каждом процессоре? Это действительно улучшит время обработки?

На данный момент я не смог включить планирование ЦП в моем кластере (HDP 2.6.5 centos 7.5) из-за ошибки ниже в стартовом диспетчере узлов: "Невозможно применить веса процессора; невозможно записать в cgroup по адресу: /sys/fs/cgroup/ процессор,cpuacct"

1 ответ

Нет, vcores и vcpus - это действительно логическая конструкция, которая не связана с тем, что на самом деле находится в системе, а более тесно связана с тем, сколько запущено процессов. ОС (в данном случае Linux) перенесет работу на все процессоры, если процесс предназначен для этого. Большинство долго работающих Java-приложений делают это из-за работы нескольких потоков.

YARN не контролирует ядра процессора, если вы не включите CGroups. Единственное, что контролирует YARN - это использование памяти. Причина, по которой это не имеет значения, заключается в том, что типичные рабочие нагрузки Hadoop связаны с вводом-выводом, а не с процессором.

Рекомендации

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