启动集群后发现没有SecondaryNameNode
[root@hadoop02 hadoop-2.7.2]# sbin/start-dfs.sh
Starting namenodes on [hadoop02]
hadoop02: starting namenode, logging to /export/servers/hadoop-2.7.2/logs/hadoop-root-namenode-hadoop02.out
hadoop02: starting datanode, logging to /export/servers/hadoop-2.7.2/logs/hadoop-root-datanode-hadoop02.out
hadoop04: starting datanode, logging to /export/servers/hadoop-2.7.2/logs/hadoop-root-datanode-hadoop04.out
hadoop03: starting datanode, logging to /export/servers/hadoop-2.7.2/logs/hadoop-root-datanode-hadoop03.out
Starting secondary namenodes [hadoop02]
hadoop02: starting secondarynamenode, logging to /export/servers/hadoop-2.7.2/logs/hadoop-root-secondarynamenode-hadoop02.out
[root@hadoop02 hadoop-2.7.2]# jps
8630 Jps
8327 DataNode
8188 NameNode
[root@hadoop02 hadoop-2.7.2]#
查看报错结果为:
[root@hadoop02 hadoop-2.7.2]# cat logs/hadoop-root-secondarynamenode-hadoop02.out
Exception in thread "main" java.lang.IllegalArgumentException: Does not contain a valid host:port authority: hdfs:
at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:213)
at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:164)
at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:153)
at org.apache.hadoop.hdfs.DFSUtil.substituteForWildcardAddress(DFSUtil.java:1179)
at org.apache.hadoop.hdfs.DFSUtil.getInfoServerWithDefaultHost(DFSUtil.java:1147)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.getInfoServer(SecondaryNameNode.java:494)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:237)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:192)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:671)
解决方法:
[root@hadoop02 hadoop-2.7.2]# cd /export/servers/hadoop-2.7.5/etc/hadoop
[root@hadoop02 hadoop-2.7.2]# vim hdfs-site.xml
查看中端口是否正确:
不可以是<value>hdfs://hadoop02:50070 </value>
不可以是<value>hdfs://192.155.132.88:50070</value>
必须是<value>hadoop02:50070</value>这种格式
改正之后关闭集群再次启动集群发现SecondaryNameNode出现了
[root@hadoop02 hadoop-2.7.2]# sbin/stop-dfs.sh //改正之后关闭集群
Stopping namenodes on [hadoop02]
hadoop02: stopping namenode
hadoop04: stopping datanode
hadoop03: stopping datanode
hadoop02: stopping datanode
Stopping secondary namenodes [hadoop02]
hadoop02: no secondarynamenode to stop
You have new mail in /var/spool/mail/root
[root@hadoop02 hadoop-2.7.2]# sbin/start-dfs.sh //再次开启集群
Starting namenodes on [hadoop02]
hadoop02: starting namenode, logging to /export/servers/hadoop-2.7.2/logs/hadoop-root-namenode-hadoop02.out
hadoop02: starting datanode, logging to /export/servers/hadoop-2.7.2/logs/hadoop-root-datanode-hadoop02.out
hadoop04: starting datanode, logging to /export/servers/hadoop-2.7.2/logs/hadoop-root-datanode-hadoop04.out
hadoop03: starting datanode, logging to /export/servers/hadoop-2.7.2/logs/hadoop-root-datanode-hadoop03.out
Starting secondary namenodes [hadoop02]
hadoop02: starting secondarynamenode, logging to /export/servers/hadoop-2.7.2/logs/hadoop-root-secondarynamenode-hadoop02.out
You have new mail in /var/spool/mail/root
[root@hadoop02 hadoop-2.7.2]# jps
9251 DataNode
9557 Jps
9112 NameNode
9433 SecondaryNameNode //完美!
[root@hadoop02 hadoop-2.7.2]#
完美撒花!