Details
Description
With the following setting,
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>myhostname:50090 </value>
</property>
The secondary NameNode could not be started
$ hadoop-daemon.sh start secondarynamenode
starting secondarynamenode, logging to /home/hadoop/hadoop-2.4.1/logs/hadoop-hadoop-secondarynamenode-xxx.out
/home/hadoop/hadoop-2.4.1/bin/hdfs
Exception in thread "main" java.lang.IllegalArgumentException: Does not contain a valid host:port authority: myhostname:50090
at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:196)
at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:163)
at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:152)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.getHttpAddress(SecondaryNameNode.java:203)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:214)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:192)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:651)
We were really confused and misled by the log message: we thought about the DNS problems (changed to IP address but no success) and the network problem (tried to test the connections with no success...)
It turned out to be that the setting is not trimmed and the additional space character in the end of the setting caused the problem... OMG!!!...
Searching on the Internet, we find we are really not alone. So many users encountered similar trim problems! The following lists a few:
http://solaimurugan.blogspot.com/2013/10/hadoop-multi-node-cluster-configuration.html
http://stackoverflow.com/questions/11263664/error-while-starting-the-hadoop-using-strat-all-sh
https://issues.apache.org/jira/browse/HDFS-2799
https://issues.apache.org/jira/browse/HBASE-6973
Attachments
Attachments
Issue Links
- relates to
-
HADOOP-9869 Configuration.getSocketAddr()/getEnum() should use getTrimmed()
- Closed
-
HADOOP-11589 NetUtils.createSocketAddr should trim the input URI
- Closed