Я уже несколько дней пытаюсь настроить Hadoop на AWS.
Я нахожусь на свежих экземплярах EC2 Ubuntu без другого программного обеспечения, установленного кроме Java.
Я запускаю эти команды:
ubuntu@ip-172-30-0-117:/usr/local/hadoop/sbin$ hdfs namenode -format
ubuntu@ip-172-30-0-117:/usr/local/hadoop/sbin$ ./start-dfs.sh
Я получаю следующие результаты на терминале:
Starting namenodes on [52.90.97.XXX]
52.90.97.XXX: starting namenode, logging to /usr/local/hadoop/logs/hadoop-ubuntu-namenode-ip-172-30-0-117.out
52.90.171.XXX: starting datanode, logging to /usr/local/hadoop/logs/hadoop-ubuntu-datanode-ip-172-30-0-144.out
52.90.150.XXX: starting datanode, logging to /usr/local/hadoop/logs/hadoop-ubuntu-datanode-ip-172-30-0-143.out
52.201.255.XXX: starting datanode, logging to /usr/local/hadoop/logs/hadoop-ubuntu-datanode-ip-172-30-0-142.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-ubuntu-secondarynamenode-ip-172-30-0-117.out
ubuntu@ip-172-30-0-117:/usr/local/hadoop/sbin$
Обратите внимание, как он работает, и затем возвращается к приглашению. Когда я пытаюсь получить доступ к серверу через порт 50070, я ничего не получаю.
После поиска в журналах я обнаружил эту ошибку:
java.net.BindException: Problem binding to [52.90.97.XXX:9000] java.net.BindException: Cannot assign requested address; For more details see: http://wiki.apache.org/hadoop/BindException
Следуя вики, он отмечает, что EC2 пытается привязаться к порту 0.0.0.0. Как я могу это исправить?
Также я проверил с помощью `netstat -peant | grep ": 9000", а на порту 9000 ничего нет.
Чего мне не хватает? Я сейчас в замешательстве.
Оказывается что, если Ваше значение IP-адреса базового сайта является неправильным, что Вы опишете поведение выше.
Путем закрепления моих IP-адресов на каждом из узлов данных я смог устранить проблему и разбудить его и выполнение
iwconfig
команда. – Arindam 26 June 2017 в 05:51