Задание Hadoop продолжает выполняться, и контейнер не выделен - PullRequest
0 голосов
/ 06 июля 2019

Я попытался запустить задание mapreduce в Hadoop 2.8.5, но оно продолжает работать. Состояние приложения выглядит следующим образом: YarnApplicationState: ACCEPTED: waiting for AM container to be allocated, launched and register with RM.

Веб-интерфейс RM: enter image description here

В отчете о состоянии здоровья говорится: 1/1 local-dir'ы плохие: / home / hduser / hadooptmpdata / nm-local-dir; 1/1 log-директории плохие: /home/hduser/hadoop-2.8.5/logs/userlogs

enter image description here

ядро-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/hadooptmpdata</value>
</property>
</configuration>

HDFS-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<name>dfs.name.dir</name>
<value>file:///home/hduser/hdfs/namenode</value>
<name>dfs.data.dir</name>
<value>file:///home/hduser/hdfs/datanode</value>
</property>
</configuration>

пряжа site.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<property>
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
<value>100</value>
</property>

<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>3</value>
</property>     

<property>
<name>yarn.scheduler.minimum-allocation-vcores</name>
<value>1</value>
</property>

<property>
<name>yarn.scheduler.maximum-allocation-vcores</name>
<value>3</value>
</property>

<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>

<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>

<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>

<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/home/hduser/hadooptmpdata/nm-local-dir</value>
</property>
</configuration>

mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.map.cpu.vcores</name>
<value>2</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.reduce.cpu.vcores</name>
<value>2</value>
</property>
<property>
<name>mapreduce.cluster.local.dir</name>
<value>/home/user/hduser/hadooptmpdata/mapred/local</value>
</property>
</configuration>

Я использую Hadoop на Ubuntu , и на моем компьютере установлен процессор Intel i7 с 16 ГБ ОЗУ и 256 ГБ SSD

1 Ответ

2 голосов
/ 06 июля 2019

Диспетчеру ресурсов YARN нужны вычислительные ресурсы от Node Manager (ов) для выполнения чего-либо. Ваш Node Manager показывает, что это локальный каталог, это плохо. Это означает, что у вас нет доступных вычислительных ресурсов (что проверяется с помощью показателей кластера. См. Все нули.), Поэтому ваше приложение застряло в «ПРИНЯТО».

enter image description here

Исправьте ваш yarn.nodemanager.local-dirs и убедитесь, что у YARN есть полные права на него.

...