Работы 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.

Ответ 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 изменился на здоровый, и задания начали запускать