You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Trygve Sanne Hardersen (JIRA)" <ji...@apache.org> on 2010/11/30 12:16:11 UTC

[jira] Commented: (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:comment-tabpanel&focusedCommentId=12965200#action_12965200 ] 

Trygve Sanne Hardersen commented on HADOOP-3395:
------------------------------------------------

I hit this today with 0.20-append on Debian when using 0.0.0.0 as the NameNode IP. Setting java.net.preferIPv4Stack for the Java process seems to solve the problem, as it makes the socket actually use 0.0.0.0 and not the ipv6 version.

> 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.
-
You can reply to this email to add a comment to the issue online.