我无法连接到Hadoop端口9000

所以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 on 9000 port:

 $ 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端口的情况下访问fs

connection refused的原因很简单 – 端口9000未被使用(未打开)。

使用命令=> lsof -i :9000查看正在使用该端口的应用程序。 如果结果为空(返回值1),则表示未打开。

您甚至可以使用netcat进一步测试。

在终端会话1中列出端口9000

 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基础。 请将问题更改为“连接到端口9000问题”。

更新

i need 9000 port for hadoop; I can't access fs without opened 9000 port i need 9000 port for hadoop; I can't access fs without opened 9000 port所以根据上下文我的理解是HDFS的namenode应该使用端口9000.所以检查你的Hadoop / HDFS配置文件并开始服务。

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’之后),Hadoop开始使用9000端口。 “陌生的东西!”