Linux namenode端口被阻止
我已经安装了7个Ubuntu 14.04 LTS服务器的VM实例。第一个实例运行namenode服务,所有其他6个节点运行datanode服务。我认为我的namenode由于某些问题而崩溃或被阻止。 重新启动后,如果我检查JPS命令输出,我的namenode正在运行。在core-site.xml中,fs.defaultfs属性设置为hdfs://instance-1:8020. 但是在netstat-tulpn输出中,8020端口不存在 这是重新启动后的JPS输出Linux namenode端口被阻止,linux,ubuntu,hadoop,server,firewall,Linux,Ubuntu,Hadoop,Server,Firewall,我已经安装了7个Ubuntu 14.04 LTS服务器的VM实例。第一个实例运行namenode服务,所有其他6个节点运行datanode服务。我认为我的namenode由于某些问题而崩溃或被阻止。 重新启动后,如果我检查JPS命令输出,我的namenode正在运行。在core-site.xml中,fs.defaultfs属性设置为hdfs://instance-1:8020. 但是在netstat-tulpn输出中,8020端口不存在 这是重新启动后的JPS输出 root@instance-1
root@instance-1:~# jps
3017 VersionInfo
2613 NameNode
3371 VersionInfo
3313 ResourceManager
3015 Main
2524 QuorumPeerMain
2877 HeadlampServer
1556 Main
3480 Jps
2517 SecondaryNameNode
3171 JobHistoryServer
2790 EventCatcherService
2842 AlertPublisher
2600 Bootstrap
2909 Main
root@instance-1:~# jps
3794 Main
3313 ResourceManager
3907 EventCatcherService
4325 Jps
2530 RunJar
3082 RunJar
2524 QuorumPeerMain
2656 Bootstrap
2877 HeadlampServer
1556 Main
2517 SecondaryNameNode
3171 JobHistoryServer
2842 AlertPublisher
2600 Bootstrap
这是我在jps之后检查的netstat输出
root@instance-1:~# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 600/rpcbind
tcp 0 0 0.0.0.0:9010 0.0.0.0:* LISTEN 2524/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1164/sshd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1158/postgres
tcp 0 0 127.0.0.1:19001 0.0.0.0:* LISTEN 1496/python
tcp 0 0 0.0.0.0:42043 0.0.0.0:* LISTEN 2524/java
tcp 0 0 10.240.71.132:9000 0.0.0.0:* LISTEN 1419/python
tcp 0 0 0.0.0.0:7432 0.0.0.0:* LISTEN 1405/postgres
tcp6 0 0 :::111 :::* LISTEN 600/rpcbind
tcp6 0 0 :::22 :::* LISTEN 1164/sshd
tcp6 0 0 :::7432 :::* LISTEN 1405/postgres
udp 0 0 0.0.0.0:68 0.0.0.0:* 684/dhclient
udp 0 0 0.0.0.0:111 0.0.0.0:* 600/rpcbind
udp 0 0 10.240.71.132:123 0.0.0.0:* 3323/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 3323/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 3323/ntpd
udp 0 0 0.0.0.0:721 0.0.0.0:* 600/rpcbind
udp 0 0 0.0.0.0:29611 0.0.0.0:* 684/dhclient
udp6 0 0 :::111 :::* 600/rpcbind
udp6 0 0 :::123 :::* 3323/ntpd
udp6 0 0 :::721 :::* 600/rpcbind
udp6 0 0 :::22577 :::* 684/dhclient
正如我所说,我没有看到8020端口。一分钟后,我检查了JPS输出,namenode不见了
这是重新启动一分钟后的jps输出
root@instance-1:~# jps
3017 VersionInfo
2613 NameNode
3371 VersionInfo
3313 ResourceManager
3015 Main
2524 QuorumPeerMain
2877 HeadlampServer
1556 Main
3480 Jps
2517 SecondaryNameNode
3171 JobHistoryServer
2790 EventCatcherService
2842 AlertPublisher
2600 Bootstrap
2909 Main
root@instance-1:~# jps
3794 Main
3313 ResourceManager
3907 EventCatcherService
4325 Jps
2530 RunJar
3082 RunJar
2524 QuorumPeerMain
2656 Bootstrap
2877 HeadlampServer
1556 Main
2517 SecondaryNameNode
3171 JobHistoryServer
2842 AlertPublisher
2600 Bootstrap
正如我所说,namenode不存在。我重复了上述过程几次,每次都得到相同的结果,端口8020不在那里,namenode崩溃。我认为这是防火墙的问题,你怎么看
提前谢谢。我没有完整的答案,但我知道您可以转到运行namenode的计算机中的Hadoop文件夹,转到logs文件夹,打开包含namenode日志的文件,它应该有一个类似Hadoop-username-namenode-machineName.log的名称 其中username是计算机的用户名,machine name是此计算机的主机名 一直转到该文件的结尾,您可能会看到导致问题的确切错误
祝您好运看来您的namenode确实崩溃了。尝试停止所有hadoop守护进程,然后删除所有datanode数据并格式化namenode 用于停止hadoop守护进程的使用
stop-all.sh
现在使用rm-r命令手动删除终端数据节点中的所有数据
要格式化namenode,请使用以下命令
hadoop namenode -format
然后使用以下命令再次启动所有守护进程
start-all.sh
希望有帮助。请不要格式化namenode。。您的群集版本id被更改,这将导致许多问题。相反,您需要从网络的角度调试这个问题,方法是更改config.xml中的namenode端口。