Hdfs启动没有启动程NameNode,其他都有

来源:3-11 HDFS格式化以及启动详解

蜥蜴

2019-02-02

老师,我是用阿里云的服务器进行练习的,启动HDFS的时候是以root用户,启动的时候DataNode这些都正常,唯有NameNode进程没有起来,查看log日志,出现如下内容:

2019-02-02 16:33:46,024 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
java.net.BindException: Problem binding to [hadoop000:8020] java.net.BindException: 无法指定被请求的地址; For more details see:  http://wiki.apache.org/hadoop/BindException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:791)
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:720)
        at org.apache.hadoop.ipc.Server.bind(Server.java:522)
        at org.apache.hadoop.ipc.Server$Listener.<init>(Server.java:728)
        at org.apache.hadoop.ipc.Server.<init>(Server.java:2449)
        at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:1042)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Server.<init>(ProtobufRpcEngine.java:535)
        at org.apache.hadoop.ipc.ProtobufRpcEngine.getServer(ProtobufRpcEngine.java:510)
        at org.apache.hadoop.ipc.RPC$Builder.build(RPC.java:887)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.<init>(NameNodeRpcServer.java:355)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createRpcServer(NameNode.java:701)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:678)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:844)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:823)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1547)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1615)
Caused by: java.net.BindException: 无法指定被请求的地址
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.apache.hadoop.ipc.Server.bind(Server.java:505)
        ... 13 more
2019-02-02 16:33:46,026 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
2019-02-02 16:33:46,028 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at iz2zeiplb7krrk5li2iiluz/172.17.122.106
************************************************************/

而且50070端口没有被占用:

[root@iz2zeiplb7krrk5li2iiluz logs]# netstat -tunlp 
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:50010           0.0.0.0:*               LISTEN      16198/java          
tcp        0      0 0.0.0.0:50075           0.0.0.0:*               LISTEN      16198/java          
tcp        0      0 0.0.0.0:50020           0.0.0.0:*               LISTEN      16198/java          
tcp        0      0 127.0.0.1:45318         0.0.0.0:*               LISTEN      16198/java          
tcp        0      0 0.0.0.0:50090           0.0.0.0:*               LISTEN      16335/java          
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      745/sshd            
udp        0      0 172.17.122.106:123      0.0.0.0:*                           485/ntpd            
udp        0      0 127.0.0.1:123           0.0.0.0:*                           485/ntpd            
udp        0      0 0.0.0.0:123             0.0.0.0:*                           485/ntpd            
udp6       0      0 :::123                  :::*                                485/ntpd  

下面是执行jps命令的显示的内容:

18251 SecondaryNameNode
18108 DataNode
18367 Jps

请老师看看这是怎么回事。

写回答

2回答

蜥蜴

提问者

2019-02-02

而且50070端口没有被占用:

```log

[root@iz2zeiplb7krrk5li2iiluz logs]# netstat -tunlp 

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:50010           0.0.0.0:*               LISTEN      16198/java          

tcp        0      0 0.0.0.0:50075           0.0.0.0:*               LISTEN      16198/java          

tcp        0      0 0.0.0.0:50020           0.0.0.0:*               LISTEN      16198/java          

tcp        0      0 127.0.0.1:45318         0.0.0.0:*               LISTEN      16198/java          

tcp        0      0 0.0.0.0:50090           0.0.0.0:*               LISTEN      16335/java          

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      745/sshd            

udp        0      0 172.17.122.106:123      0.0.0.0:*                           485/ntpd            

udp        0      0 127.0.0.1:123           0.0.0.0:*                           485/ntpd            

udp        0      0 0.0.0.0:123             0.0.0.0:*                           485/ntpd            

udp6       0      0 :::123                  :::*                                485/ntpd  

```

0
1
qq_CMD_1
请问,最后你是怎么解决的,我也遇到了这样的问题
2021-11-21
共1条回复

Michael_PK

2019-02-02

阿里云的机器端口是有限制的,需要手工在控制台把端口放开,以前有学员就遇到过这问题,具体如何设置需要咨询阿里云的售后的同学

0
2
Michael_PK
回复
蜥蜴
你把所有的logs下的日志全部清理点。然后不用start DFS命令启动,而属于hadoop deamon的脚步启动,一个个启动,先nn,看看日志,再dn
2019-02-02
共2条回复

Hadoop 系统入门+核心精讲

从Hadoop核心技术入手,掌握数据处理中ETL应用,轻松进军大数据

2408 学习 · 908 问题

查看课程