Итак, 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; Я не могу получить доступ к фс без открытого порта 9000
Причина для 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.
ПРИМЕЧАНИЕ. Это не проблема telnet и iptables, это в основном основы TCP / IP. Пожалуйста, измените вопрос на sth, например «подключение к порту 9000».
blockquote>Обновление
i need 9000 port for hadoop; I can't access fs without opened 9000 port
, поэтому исходя из контекста, я понимаю, что наменод HDFS должен использовать порт 9000. Так что проверьте файлы конфигурации Hadoop / HDFS и запустите службы. [ 1115]На данном этапе iptables не имеет значения, поскольку порт НЕ используется вообще.
Вы можете запустить
iptables -L -vn
, чтобы убедиться, что правила не действуют. Вы можете очистить цепочку INPUT таблицы фильтров, чтобы убедиться, чтоsudo iptables -P INPUT ACCEPT && sudo iptables -F -t filter
Если это кому-нибудь поможет, я решил аналогичную проблему, снова отформатировав namenode:
hdfs namenode -format
У меня была такая же проблема. Сначала он работал нормально с '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. «Чужие вещи!»