Итак, у меня кластер cloudera с 7 рабочими узлами.Пряжа: как использовать все ресурсы кластера?
- 30GB RAM
- 4 виртуальных процессоров
Вот некоторые из моих конфигураций, которые я нашел важным (от Google) в настройки производительности моего кластера. Я бегу с:
yarn.nodemanager.resource.cpu-vcores
=> 4yarn.nodemanager.resource.memory-mb
=> 17GB (отдых, зарезервированной для операционной системы и других процессов)mapreduce.map.memory.mb
=> 2 Гбmapreduce.reduce.memory.mb
=> 2GB- Запуск
nproc
=> 4 (Количество доступных блоков обработки)
Теперь мое беспокойство, когда Я смотрю на свой ResourceManager
, я вижу доступную память как 119 GB
, и это нормально. Но когда я запускаю тяжелую работу sqoop
, и мой кластер находится на пике, он использует только ~59 GB
памяти, в результате чего ~60 GB
память не используется.
Один из способов, который я вижу, может исправить эту проблему с неиспользуемой памятью, увеличивается map|reduce.memory
до 4 ГБ, чтобы мы могли использовать до 16 ГБ на узел.
Другой способ - увеличить количество контейнеров, что я не уверен, как это сделать.
- 4 ядра x 7 узлов = 28 возможных контейнеров. 3, которые используются другими процессами, только 5 в настоящее время доступны для работы sqoop.
Какая должна быть правильная конфигурация для повышения производительности кластера в этом случае. Могу ли я увеличить количество контейнеров, скажем, 2 контейнера на ядро. И это рекомендуется?
Любая помощь или предложения по конфигурации кластера будут высоко оценены. Благодарю.
Вы используете DefaultResourceCalculator? Или вы настроили использовать DominantResourceCalculator? – Nicomak
Можете ли вы разместить конфигурацию 'yarn-site.xml' и' mapred-site.xml'? – Nicomak
Я использую установку cloudera. Не удалось найти свойство 'yarn.nodemanager.container-monitor.resource-calculator.class'. Использование FairScheduler в качестве scheduler.class, если это помогает. Любая конкретная конфигурация должна указываться из 'yarn-site.xml' и' mapred-site.xml'? – PratPor