у нас есть кластер амбари (версия 2.6) с 3 рабочими машинами, и каждая рабочая машина имеет 16 ЯДРА ЦП (см. рис. ниже), в то время как каждая машина имеет 32 ГБ памяти
в соответствии с:
yarn.nodemanager.resource.cpu-vcores: установите соответствующее число в yarn-site.xml на всех узлах. Это строго зависит от типа рабочих нагрузок, выполняемых в кластере, но общая рекомендация заключается в том, что администраторы устанавливают его равным количеству физических ядер на машине.
мы устанавливаем yarn.nodemanager.resource.cpu-vcores до 16
но какова правильная стоимость - yarn.scheduler.maximum-allocation-vcores ?
yarn.scheduler.maximum-allocation-vcores: это максимальное выделение для каждого запроса контейнера в диспетчере ресурсов с точки зрения виртуальных ядер ЦП. Запросы выше этого значения не будут иметь эффекта и будут ограничены этим значением.
Означает ли это 80% от общего ядра или что-то от 50% до 100% от общего ядра ЦП?
... претензии:
Значение по умолчанию для yarn.scheduler.maximum-allocation-vcores в Qubole установлено на удвоенное количество процессоров. Эта избыточная подписка предполагает, что ЦП не всегда выполняет поток, и, следовательно, назначение большего количества ядер обеспечивает максимальное использование ЦП.
Если вас это не устраивает, вы можете установить yarn.scheduler.maximum-allocation-vcores = 80% * (общее количество ядер ЦП) * 2. После внесения каких-либо изменений в настройки отслеживайте использование ЦП вашего кластера / узла в течение некоторого времени ниже нагрузка. Использование 70% -80% должно быть примерно правильным.