Hadoop2.5.2 зависает при выполнении задания, когда я пытаюсь запустить pi-example на YARN

Я запускаю Hadoop2.5.2 на 3 машинах с Ubuntu Server 14.04.

Один из них — namenode и resourcemanager с IP-адресом 192.168.3.1. Другие — подчиненные устройства, на которых запущены datanode и nodemanager с IP-адресами 192.168.3.102 и 192.168.3.104 соответственно.

Я могу запускать start-hdfs.sh и start-yarn.sh без ошибок. Веб-сайт HDFS и YARN работает хорошо, я могу посетить оба веб-сайта в своем браузере и увидеть статус двух ведомых устройств.

Но когда я пытаюсь запустить пример mapreduce под ~/hadoop/share/hadoop/mapreduce' через yarn jar hadoop-mapreduce-examples-2.5.2.jar pi 14 1000, процесс зависает на INFO mapreduce.job: Running job: ...

На сайте пряжи видно, что на рабе стоит один контейнер и состояние приложения принято.

Когда я нажимаю jps на раба

20265 MRAppMaster
20351 Jps
19206 DataNode
20019 NodeManager

Файл системного журнала на подчиненном устройстве:

INFO [main] org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8030
INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
...

Похоже, что подчиненный не использует IP-адрес RM по умолчанию вместо реального на 192.168.3.1.

Вот моя конфигурация подчиненных устройств: yarn-site.xml

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>192.168.3.1</value>
</property> 
<property>
    <name>yarn.resourcemanager.address</name>
    <value>192.168.3.1:8032</value>
</property>  
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>192.168.3.1:8030</value>
</property>

<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>192.168.3.1:8031</value>
</property>

<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>192.168.3.1:8088</value>
</property>

<property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>192.168.3.1:8033</value>
</property> 
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

<property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

hdfs-site.xml

<configuration>

<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///home/hduser/hdfs/namenode</value>
    <description>NameNode directory for namespace and transaction logs storage</description>
</property>

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

<property>
    <name>dfs.datanode.use.datanode.hostname</name>
    <value>false</value>
</property>

<property>
    <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
    <value>false</value>
</property>
</configuration>

основной-сайт.xml

<configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.3.1:8020</value>
    <description>NameNode URI</description>
</property>
</configuration>

mapred-site.xml

19 <configuration>
20 
21 <property>
22     <name>mapreduce.framework.name</name>
23     <value>yarn</value>
24     <description>Use YARN</description>
25 </property>

Конфигурация мастера почти такая же, за исключением yarn-site.xml.

65 <property>
66     <name>yarn.nodemanager.aux-services</name>
67     <value>mapreduce_shuffle</value>
68 </property>
69 
70 <property>
71     <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
72     <value>org.apache.hadoop.mapred.ShuffleHandler</value>
73 </property>

И я меняю файл yarn-env.sh export YARN_CONF_DIR="${YARN_CONF_DIR:-$HADOOP_YARN_HOME/etc/hadoop}"

Я не меняю /etc/hosts

Кто-нибудь знает, как я могу это исправить? Спасибо

если нужна другая информация, просто скажите мне. Я обновлю..


person frankfzw    schedule 22.12.2014    source источник


Ответы (2)


INFO [main] org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8030
INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
...

Он пытается подключиться к диспетчеру ресурсов. Вроде не запускается.

Проверьте службу диспетчера ресурсов.

person Harinder    schedule 22.12.2014
comment
ResourceManager работает на моем мастере 192.168.3.1. - person frankfzw; 22.12.2014
comment
Похоже, ваша работа не указывает на правильный IP-адрес менеджера ресурсов. Вы читаете файлы conf из правильного места? Или попробуйте указать местоположение менеджера ресурсов в JobConf. - person Harinder; 22.12.2014
comment
Я попытался изменить yarn-env.sh, чтобы YARN_CONF_DIR указывал на $HADOOP_YARN_HOME/etc/hadoop, и добавить YARN_CONF_DIR в .bashrc. Но это не работает. И не могли бы вы поподробнее рассказать о настройке JobConf? Я новичок в Hadoop. Большое спасибо - person frankfzw; 22.12.2014

Наконец я узнал это сам.

Я скачал новую версию исходного кода Hadoop-2.6.0 и собрал ее на своей машине.

Конфигурация была такой же, как и в версии 2.5.2, но она просто работает!

Я думаю, что лучше начать с исходного кода, чем со встроенным.

person frankfzw    schedule 26.01.2015