Hi all,
This is my first time to try to setup HBase on a 10-node cluster. I tried
two settings: HBase 0.94.16+Hadoop 1.2.1, and HBase 0.96.1.1+Hadoop 2.2.0.
In both cases, the region servers can't connect to the master properly.
[HBase 0.94.16+Hadoop 1.2.1]:
2014-01-29 00:55:06,875 WARN
org.apache.hadoop.hbase.regionserver.HRegionServer: Unable to connect to
master. Retrying. Error was:
java.net.SocketException: Invalid argument
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:532)
at
org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:192)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:511)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:481)
at
org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupConnection(HBaseClient.java:392)
at
org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:438)
at
org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1141)
at
org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:988)
at
org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:87)
at $Proxy9.getProtocolVersion(Unknown Source)
at
org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:141)
at
org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:208)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.getMaster(HRegionServer.java:2043)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:2089)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:747)
at java.lang.Thread.run(Thread.java:662)
[HBase 0.96.1.1+Hadoop 2.2.0]:
2014-01-28 18:50:54,587 WARN [regionserver60020]
regionserver.HRegionServer: error telling master we are up
com.google.protobuf.ServiceException: java.net.SocketException: Invalid
argument
at
org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1670)
at
org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1711)
at
org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$BlockingStub.regionServerStartup(RegionServerStatusProtos.java:5402)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:1926)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:784)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.SocketException: Invalid argument
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:532)
at
org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:192)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493)
at
org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupConnection(RpcClient.java:575)
at
org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupIOstreams(RpcClient.java:860)
at
org.apache.hadoop.hbase.ipc.RpcClient.getConnection(RpcClient.java:1535)
at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1424)
at
org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1653)
... 5 more
I tried to replace lib/hadoop-core-xxx.jar of HBase 0.94.16 with the jar of
Hadoop 1.2.1, and replace lib/hadoop-*.jar with those of Hadoop 2.2.0, but
had no luck. Does anyone have any idea?
Thanks.