Сегодня записи об использовании проблемы HQL встречаются карты = 100% и уменьшить = 100% по сравнению с мыслью, что может выполнить результат, последний сообщил внезапный Буг, жизнь на самом деле полна сюрпризов и неожиданных, я могу только сказать, что это ... нет счастливого сюрприза
После того, как я увидел эту ошибку, просмотреть журнал нашел улей, улей с реализацией интерфейса является та же газета, посмотрим, что вещи из, а затем использовать Hadoop 'История: 8088 Вид агрегируются журнал и нашел UI здесь начале 4 карта свертка, уменьшайте не отображалась бревна не будет никакой карты не является полным, что приводит к сокращению не работают, направить их в карту Просмотреть журнал обнаружить источник газеты неправильно, проблема, куча переполнения и виртуальной памяти причина карты сдулась
Несколько цифровых ориентированного сделать что-то простые Комментарии
110.2 МБ 1 ГБ
3,7 ГБ виртуальной памяти 2.1 ГБ используется. Убийство контейнер
1,110.2MB является реальной физической памятью для выполнения этой задачи
2,1GB является mapreduce.map.memory.mb набор (по умолчанию)
3,3.7GB задача состоит в том, чтобы занять виртуальную память
4,2.1GB является mapreduce.map.memory.db умноженный yarn.nodemanager.vmem-Pmem-отношением, полученным
5, в котором yarn.nodemanager.vmem-Pmem-отношение представляет собой отношение виртуальной памяти и физической памяти, пряжа-site.xml при условии, по умолчанию 2.1 ,
если я локально набор 3, который является вычисленным значением 1 * 3 = 3ГБ
В заключении журналы говорят нам задача быть виртуальной память только 3.7g и 2.1g виртуальной памяти системы за предел не работает, вот только завиртуальная памятьЕсть различия с фактической памятью своего Baidu не понимает это знания
Таким образом, решения в следующих областях
В наборе пряжи site.xml отключения проверки виртуальной памяти (по умолчанию Правда открытое состояние)
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
<description>Whether virtual memory limits will be enforced for containers.</description>
</property>
По моей собственной конфигурации, и объем обрабатываемых данных памяти обнаружения достаточно, потому что это в общем механизме проверки виртуальной памяти заблокированы, так что я настроен только это, вы можете продолжить выполнение задачи
В пряжи-site.xml физической памяти проверяется может быть закрыт
<property>
<name>yarn.nodemanager.pmem-check-enabled </name>
<value>false</value>
<description>Whether virtual memory limits will be enforced for containers.</description>
</property>
Однако такая установка по, как правило, не рекомендуется, потому что, если программа имеет утечку памяти и другие вопросы, отменить проверку, может привести к распаду кластера.
Существует нехватка физической памяти может привести к сбою программы для запуска, увеличение физической памяти
В mapred-site.xml соответствующим образом регулирует значение следующих параметров в зависимости от объема обработки данных:2048, -Xmx1024MПодходит самостоятельно установленное значение
<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2560M</value>
</property>
Его можно отрегулировать yarn.nodemanager.vmem Pmem - размер коэффициента, потому что виртуальная память влияет на процент физической памяти
Там может быть процесс, выполняющийся в данных МР в наклоне, утечки памяти и по другим причинам, что только детальный анализ конкретных причин
После изменения файла конфигурации пряжи site.xml Не забудьте перезапустить кластер пряжи