Hadoop3: ошибка рабочего узла при подключении к ResourceManager - PullRequest
1 голос
/ 15 июня 2019

У меня есть 3-х узловый кластер hadoop (капли DigitalOcean):

  • hadoop-master настроен как namenode и datanode
  • hadoop-worker1 и hadoop-worker2 настроены как узлы данных

Каждый раз, когда я запускаю потоковое задание mapreduce, и рабочий узел выбирается для запуска ApplicationMaster, задание зависает при попытке подключения к ResourceManager. Журнал датоде показывает, что он пытается подключиться к 0.0.0.0

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);
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);

Это значение по умолчанию yarn.resourcemanager.hostname property. Однако я указал это свойство в yarn-site.xml для обоих моих рабочих узлов:

<property>
   <name>yarn.resourcemanager.hostname</name>
   <value>hadoop-master</value>
</property>

И на всех моих узлах мой файл / etc / hosts выглядит следующим образом, поэтому hadoop-master должен указывать на правильный IP-адрес.

#127.0.1.1 hadoop-worker1 hadoop-worker1
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
#::1 ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
#ff02::3 ip6-allhosts

165.22.19.161 hadoop-master
165.22.19.154 hadoop-worker1
165.22.19.158 hadoop-worker2

Я также проверил конфигурации, зайдя в hadoop-worker1: 9864 и получив доступ к веб-интерфейсу рабочего узла, чтобы посмотреть, что было загружено:

<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-master</value>
<final>false</final>
<source>yarn-site.xml</source>
</property>

Более того, я попытался запустить команду YARN с одного из рабочих узлов, и он действительно может правильно связаться с ResourceManager:

hadoop@hadoop-worker1:/opt/hadoop$ yarn node --list
2019-06-15 18:47:42,119 INFO client.RMProxy: Connecting to ResourceManager at hadoop-master/165.22.19.161:8032
Total Nodes:3
         Node-Id             Node-State Node-Http-Address       Number-of-Running-Containers
hadoop-worker2:40673            RUNNING hadoop-worker2:8042                                0
hadoop-worker1:41875            RUNNING hadoop-worker1:8042                                1
hadoop-master:40075             RUNNING hadoop-master:8042                                 0
hadoop@hadoop-worker1:/opt/hadoop$

Я не уверен, что делать, я полагаю, что это может быть связано с потоковыми заданиями, не корректно загружающими настройки, любая помощь будет принята, поскольку я застрял в этой проблеме в течение 2 дней.

1 Ответ

0 голосов
/ 16 июня 2019

Я добавил флаг -D yarn.resourcemanager.hostname=hadoop-master в команду потоковой передачи mapred, и теперь он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...