Понимание памяти пряжи Hadoop в узле данных и памяти Unix

У нас есть 20 узлов данных и 3 узла управления. Каждый узел данных имеет 45 ГБ оперативной памяти.

Data node RAM Capacity
45x20=900GB total ram 

Management nodes RAM Capacity
100GB x 3 = 300GB RAM 

Я вижу, что память полностью занята в URL-адресе диспетчера ресурсов Hadoop, а отправленные задания находятся в состоянии ожидания, поскольку 900 ГБ занято до 890 ГБ в URL-адресе диспетчера ресурсов.

Тем не менее, я поднял запрос на увеличение объема памяти, чтобы память не использовалась до 890 ГБ из 900 ГБ.

Теперь ребята из команды Unix говорят, что в узле данных из 45 ГБ ОЗУ 80% полностью свободны, используя команду free -g (кэш/буфер), которая показывает вывод как free . Однако в URL-адресе стороны Hadoop (диспетчер ресурсов) указано, что он полностью занят, и несколько заданий приостановлены, поскольку память полностью занята. Я хотел бы знать, как Hadoop вычисляет память в диспетчере ресурсов, и хорошо ли обновлять память, поскольку она занимает каждый пользователь, отправляющий рабочие места улья.

Кто здесь прав, вывод hadoop в RM или бесплатную команду Unix.


person Ananya    schedule 20.10.2017    source источник
comment
Этот вопрос не касается программирования, как это определено для StackOverflow. Это может быть более подходящим на thttp://unix.stackexchange.com ИЛИ serverfault.com . Воспользуйтесь ссылкой flag внизу вашего вопроса и попросите модератора переместить его. Пожалуйста, не публикуйте один и тот же вопрос на двух разных сайтах. Пожалуйста, прочтите stackoverflow.com/help/on-topic , stackoverflow.com/help/how-to-ask , stackoverflow.com/help/ не спрашивайте и stackoverflow.com/help/mcve, прежде чем публиковать здесь дополнительные вопросы. Удачи.   -  person shellter    schedule 20.10.2017


Ответы (1)


Команда UNIX free верна, поскольку RM показывает зарезервированную память, а не используемую память.

Если я отправлю задание MapReduce с 1 задачей карты, запрашивающей 10 ГБ памяти на задачу карты, но задача карты использует только 2 ГБ, система покажет только 2 ГБ. RM покажет, что используется 10 ГБ, поскольку он должен зарезервировать этот объем для задачи, даже если задача не использует всю память.

person tk421    schedule 20.10.2017
comment
Однако эта зарезервированная память не может использоваться другими задачами уменьшения карты, если только задание не будет завершено? На данный момент, когда мы отправляем новое задание, оно говорит, что оно находится в состоянии ожидания, поскольку вся память занята. Нужно понимать весь поток. - person Ananya; 20.10.2017
comment
В яблочко. RM должен предположить, что запрошенные ресурсы (память) используются. Просто чтобы вы знали, необходимо выполнить множество настроек YARN, чтобы получить желаемое поведение. - person tk421; 20.10.2017
comment
Из 45 ГБ --› Node Manager имеет 41 ГБ в URL-адресе диспетчера ресурсов. - person Ananya; 23.10.2017
comment
4 Гб разумно. Рабочий узел, на котором работает Node Manager + Data Node, также нуждается в памяти. - person tk421; 23.10.2017