我已经安装了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:~# 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
这是我在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输出,名称节点消失了。
这是重启后一分钟的jps输出。
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崩溃了。我认为这是一个防火墙问题,你怎么看?
提前致谢。
答案 0 :(得分:0)
我没有完整的答案,但我知道您可以转到运行namenode的机器中的Hadoop文件夹,然后转到logs文件夹,打开包含namenode日志的文件,它应该有一个名称,如hadoop- 用户名 -namenode- machineName .log 其中username是您计算机的用户名,machine name是该计算机主机的名称。
直到该文件的结尾,您可能会看到导致问题的确切错误
祝你好运
答案 1 :(得分:0)
看起来你的namenode确实崩溃了。尝试停止所有hadoop守护进程,然后删除所有datanode数据并格式化你的namenode。
用于停止hadoop守护进程使用
stop-all.sh
现在使用 rm -r 命令为终端手动删除数据节点的所有数据
用于格式化namenode使用此
hadoop namenode -format
然后使用此
再次启动所有守护进程start-all.sh
希望它有所帮助。