Я не могу подключиться к порту Hadoop 9000

3

Таким образом, telnet работает, я имею в виду, что telnet localhost 25 подключается; но telnet localhost или telnet localhost 9000 получил такой результат:

Trying 127.0.0.1... 
telnet: Unable to connect to remote host: Connection refused

nmap:

$ nmap localhost

Starting Nmap 6.00 ( http://nmap.org ) at 2013-10-03 00:54 MSK
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00030s latency).
rDNS record for 127.0.0.1: localhost.localdomain
Not shown: 992 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
587/tcp  open  submission
631/tcp  open  ipp
3306/tcp open  mysql
5432/tcp open  postgresql
6566/tcp open  sane-port

nmap на порте 9000:

$ nmap -p 9000 localhost

Starting Nmap 6.00 ( http://nmap.org ) at 2013-10-03 00:55 MSK
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000040s latency).
rDNS record for 127.0.0.1: localhost.localdomain
PORT     STATE  SERVICE
9000/tcp closed cslistener

Итак, вопрос в том, как открыть необходимый порт, я использую Ubuntu 13.04; пытался отключить UFW, пытался играть с iptables; ничего не помогло. Не знаю, что делать ...

Мне нужен 9000 порт для hadoop; Я не могу получить доступ fs без открытого порта 9000

    
задан DaunnC 02.10.2013 в 23:02
источник

3 ответа

4

Причина connection refused проста: порт 9000 НЕ используется (не открыт).

Используйте команду = > lsof -i :9000 , чтобы узнать, какое приложение использует порт. Если результат пуст (возвращаемое значение 1), то он не открыт.

Вы можете даже протестировать дальше с netcat.

Список портов 9000 в сеансе терминала 1

nc -l -p 9000

В другой сеанс подключитесь к нему

$ lsof -i :9000
COMMAND   PID  USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
nc      12679 terry    3u  IPv4 7518676      0t0  TCP *:9000 (LISTEN)
$ nc -vz localhost 9000
Connection to localhost 9000 port [tcp/*] succeeded!

Итак, вам нужно исправить свои настройки hadoop и убедиться, что все необходимые демоны / службы запущены должным образом, прежде чем вы сможете подключиться к HDFS.

NOTE: This is NOT telnet nor iptables issue, it's basically TCP/IP basics. Please change the question to sth like "connecting to port 9000 issue".

Update

i need 9000 port for hadoop; I can't access fs without opened 9000 port , поэтому, основываясь на контексте, я понимаю, что namenode HDFS должен использовать порт 9000. Поэтому проверьте конфигурационные файлы Hadoop / HDFS и запустите службы.

iptables на данном этапе не имеет значения, потому что порт НЕ используется вообще.

Вы можете запустить iptables -L -vn , чтобы убедиться в отсутствии правил. Вы можете очистить цепочку INPUT таблицы фильтров, чтобы убедиться, что sudo iptables -P INPUT ACCEPT && sudo iptables -F -t filter

    
ответ дан Terry Wang 02.10.2013 в 23:50
источник
1

Если это кому-то помогает, я решил свою аналогичную проблему, снова форматируя namenode:

hdfs namenode -format
    
ответ дан Louis M 12.02.2017 в 09:17
0

У меня была такая же проблема. Сначала он отлично работал с «hdfs namenode -format», хотя только один раз. Случилось так, что я использовал '/usr/hadoop-2.9.0/sbin/start-dfs.sh' (и stop-dfs.sh), чтобы запустить Hadoop. Только когда я начал использовать «/usr/hadoop-2.9.0/sbin/start-all.sh» (после применения «hdfs namenode -format»), 9000-порт стал использоваться Hadoop. «Чужие вещи!»

    
ответ дан Alan M. Tafuri 09.02.2018 в 00:23