Support Questions
Find answers, ask questions, and share your expertise
Announcements
Check out our newest addition to the community, the Cloudera Innovation Accelerator group hub.

RegionServers go down when change hbase.regionserver.dns.interface

Explorer

I tried setting hbase.regionserver.dns.interface --> eth1, but I'm getting this error as on the regionservers


2019-04-25 09:36:57,404 ERROR [main] regionserver.HRegionServer: Failed construction RegionServer
java.lang.RuntimeException: Failed to invoke DNS.getDefaultHost via reflection
        at org.apache.hadoop.hbase.util.DNS.getDefaultHost(DNS.java:63)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.getHostname(RSRpcServices.java:1298)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.<init>(RSRpcServices.java:1213)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.<init>(RSRpcServices.java:1184)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.createRpcServices(HRegionServer.java:726)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:564)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.constructRegionServer(HRegionServer.java:2977)
        at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.start(HRegionServerCommandLine.java:63)
        at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:87)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
        at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.main(HRegionServer.java:2995)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.hbase.util.DNS.getDefaultHost(DNS.java:60)
        ... 15 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 3
        at org.apache.hadoop.net.DNS.reverseDns(DNS.java:82)
        at org.apache.hadoop.net.DNS.getHosts(DNS.java:252)
        at org.apache.hadoop.net.DNS.getDefaultHost(DNS.java:365)




1 REPLY 1

Explorer

I have seen that when you are working with ipv6, you can find this error. Because they use a split of ipv4,


            String[] parts = address.getHostAddress().split("\\.");
            String reverseIP = parts[3] + "." + parts[2] + "." + parts[1] + "."
                      + parts[0] + ".in-addr.arpa";


I have found a posible solution. Put this in the hadoop-env.cmd, but i cant test yet.


-Djava.net.preferIPv4Stack=true