You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Harsh J (Resolved) (JIRA)" <ji...@apache.org> on 2011/11/18 10:40:51 UTC

[jira] [Resolved] (HADOOP-3395) Namenode.initialize() sets the default filesystem uri to an ip6 address (0:0:0:0:0:0:0:0)

     [ https://issues.apache.org/jira/browse/HADOOP-3395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Harsh J resolved HADOOP-3395.
-----------------------------

    Resolution: Duplicate

While you're supposed to use hostnames for HDFS URIs, HADOOP-6056 fixes this issue by shipping with the IPv4 preferrer opt. Resolving as dupe.
                
> Namenode.initialize() sets the default filesystem uri to an ip6 address (0:0:0:0:0:0:0:0)
> -----------------------------------------------------------------------------------------
>
>                 Key: HADOOP-3395
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3395
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>    Affects Versions: 0.17.0
>            Reporter: Clint Morgan
>
> When starting the namenode, I would get the following exception:
> Caused by: java.io.IOException: Incomplete HDFS URI, no host/port: hdfs://0:0:0:0:0:0:0:0:50051
> 	at org.apache.hadoop.dfs.DistributedFileSystem.initialize(DistributedFileSystem.java:66)
> 	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1275)
> 	at org.apache.hadoop.fs.FileSystem.access$300(FileSystem.java:56)
> 	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1286)
> 	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:208)
> 	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:108)
> 	at org.apache.hadoop.fs.Trash.<init>(Trash.java:62)
> 	at org.apache.hadoop.dfs.NameNode.initialize(NameNode.java:138)
> 	at org.apache.hadoop.dfs.NameNode.<init>(NameNode.java:180)
> 	at org.apache.hadoop.dfs.NameNode.<init>(NameNode.java:166)
> I tracked this down to NameNode.java line 127 and 128. The socetAddress returned by this.server.getListenerAddress() is an ipv6 style address with colons. Then this is set as the default filesystem which causes problems on the next call to FileSystem.get.
> I replacedthe line:
> this.nameNodeAddress = this.server.getListenerAddress();
> with
> this.nameNodeAddress = socAddr;
> And this made it work for me. However, I gather this would break support  for ephemeral ports? Is there a better way for me to fix this, maybe disabling ipv6 elsewhere?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira