Hi, I've met a problem startup HBase.
I setup hbase with hdfs, My server's network card has a ipv4 address and also a ipv6 address. When I first startup hbase with default configuration file, I found that the region server can't register to master. And I found lots of 127.0.0.1 in log. So I suppose interface "default" would not work and add following: <property> <name>dfs.datanode.dns.interface</name> <value>eth0</value> <description>The name of the Network Interface from which a data node should report its IP address. </description> </property> However, when this is done. HBase master crashes; And I see ipv6 addresses in the log. So I dig into the source code, found that HBase fails to deal with IPv6 address. Details is in following: In class org.apache.hadoop.hbase.HRegionServer the method getThisIP() invoke the method of class belongs to Hadoop-core package The class is: org.apache.hadoop.net.DNS the method is: getDefaultIP(String strInterface) This method invokes another method in the same class: getIPs(String strInterface) Method getIPs always returns the first ip address no matter it is ipv4 or ipv6 I have fixed it by modifying method of org.apache.hadoop.net.DNS.getIPs(String strInterface) Such that it always returns ipv4 address It is working now for me. But when hadoop upgrades, I have to modify again. I hope that HBase can fix this problem. Many thanks, Zhou
