Работы MapReduce застряли в состоянии Accepted
У меня есть собственный код MapReduce, который я пытаюсь запустить, но он просто остается в состоянии Accepted. Я попробовал запустить другую пробную работу MR, которую я бы выполнил ранее, и которая была успешной. Но теперь оба задания остаются в состоянии Accepted. Я попытался изменить различные свойства в mapred-site.xml и yarn-site.xml, как упоминалось здесь и здесь но это тоже не помогло. Может кто-то, пожалуйста, указать, что может быть неправильным. Я использую hasoop-2.2.0
Я пробовал много значений для различных свойств, вот один набор значений -
В mapred-site.xml
<property>
<name>mapreduce.job.tracker</name>
<value>localhost:54311</value>
</property>
<property>
<name>mapreduce.job.tracker.reserved.physicalmemory.mb</name>
<value></value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>256</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>256</value>
</property>
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>400</value>
<source>mapred-site.xml</source>
</property>
В файле yarn-site.xml
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>400</value>
<source>yarn-site.xml</source>
</property>
<property>
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
<value>.3</value>
</property>
Ответы
Ответ 1
У меня был такой же эффект, и выяснилось, что для системы требуется больше памяти для каждого рабочего node и сокращение объема памяти, необходимой для приложения.
Настройки, которые у меня есть (на моих очень маленьких экспериментальных ящиках) в моем сайте-пряже .xml:
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2200</value>
<description>Amount of physical memory, in MB, that can be allocated for containers.</description>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>500</value>
</property>
Ответ 2
Была та же проблема, и для меня это был полный жесткий диск ( > 90% полный), что было проблемой. Место для уборки спасло меня.
Ответ 3
Задание, застрявшее в состоянии accepted
в YARN, обычно из-за свободных ресурсов недостаточно. Вы можете проверить его на http://resourcemanager:port/cluster/scheduler
:
- if
Memory Used + Memory Reserved >= Memory Total
, недостаточно памяти
- if
VCores Used + VCores Reserved >= VCores Total
, VCores недостаточно [/li >
Он также может быть ограничен такими параметрами, как maxAMShare
.
Ответ 4
Следуйте блогу - http://hortonworks.com/blog/how-to-plan-and-configure-yarn-in-hdp-2-0/
Здесь подробно описывается, как установить параметры контейнеров YARN
Ответ 5
Я столкнулся с той же проблемой. И я изменил каждую конфигурацию, упомянутую в приведенных выше ответах, но все же это бесполезно. После этого я снова проверил работоспособность своего кластера. Там я заметил, что мой единственный и единственный node находится в нездоровом состоянии. Проблема заключалась в нехватке дискового пространства в каталоге /tmp/hadoop -hadoopUser/nm-local-dir. То же самое можно проверить, проверив node состояние работоспособности в веб-интерфейсе менеджера ресурсов на порту 8032. Чтобы решить эту проблему, я добавил свойство ниже в файле yarn-site.xml.
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>98.5</value>
</property>
После перезапуска моих демонов хаоса статус node изменился на здоровый, и задания начали запускать