Отслеживание заданий Hadoop доступно только с локального хоста - PullRequest
4 голосов
/ 31 января 2011

Я настраиваю Hadoop (0.20.2).Для начала, я просто хочу, чтобы он работал на одной машине - возможно, в какой-то момент мне понадобится кластер, но я позабочусь об этом, когда доберусь туда.Я понял, что мой клиентский код может подключаться к трекеру заданий и запускать задания, но есть одна проблема: трекер заданий доступен только с того компьютера, на котором он запущен.Я на самом деле сделал сканирование портов с помощью nmap, и он показывает, что порт 9001 открыт при сканировании с компьютера Hadoop, и закрыт, когда он откуда-то еще.виртуальная машина Ubuntu, работающая в VirtualBox), это то же самое.Ни на одном из них не установлены брандмауэры, так что я уверен, что это проблема Hadoop.Есть предложения?

Ответы [ 3 ]

8 голосов
/ 01 февраля 2011

В ваших конфигурационных файлах hadoop fs.default.name и mapred.job.tracker относятся к localhost?

Если это так, то Hadoop будет прослушивать только порты 9000 и 9001 на интерфейсе обратной связи, которые недоступны с любого другого хоста. Убедитесь, что fs.default.name и mapred.job.tracker относятся к внешнему доступному имени хоста вашей машины.

1 голос
/ 30 июня 2017

Убедитесь, что вы не указали свой мастер дважды в файле /etc/hosts. У меня было следующее, что позволяло мастеру слушать только на 127.0.1.1

127.0.1.1    hostname    master
192.168.x.x  hostname    master
192.168.x.x  slave-1
192.168.x.x  slave-2

Приведенный выше ответ вызвал проблему. Я изменил свой файл /ect/hosts на следующий, чтобы он работал.

127.0.1.1    hostname   
192.168.x.x  hostname    master
192.168.x.x  slave-1
192.168.x.x  slave-2

Используйте команду netstat -an | grep :9000, чтобы убедиться, что ваши соединения работают!

0 голосов
/ 28 августа 2014

В дополнение к вышеприведенному ответу я обнаружил, что в /etc/hosts на мастере (под управлением ubuntu) была строка:

127.0.1.1 master

Что означало, что под управлением nslookup masterна мастер вернул локальный адрес - поэтому несмотря на использование master в mapred-site.xml я столкнулся с той же проблемой.Мое решение (возможно, есть и лучшие) состояло в том, чтобы создать псевдоним на моем DNS-сервере и использовать его вместо этого.Полагаю, вы могли бы также изменить IP-адрес в /etc/hosts на внешний, но я не пробовал этого - я не уверен, как это повлияет на другие службы.

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