Hadoop 名称节点端口被阻塞

Hadoop 名称节点端口被阻塞

我已经安装了 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 崩溃。我认为这是防火墙问题,您觉得呢?

提前致谢。

答案1

您应该检查 NameNode 的守护进程日志$HADOOP_HOME/日志目录优先。

作为一种动力,

在启动期间,NameNode 必须完成某些操作才能满足客户端请求:

  1. 从 fsimage 文件中读取文件系统元数据。
  2. 读取编辑日志并将记录的操作应用于文件系统元数据。
  3. 写入新的检查点。
  4. 保持安全模式,直到数据节点报告足够数量的块。

相关内容