Y0gesh Gupta Y0gesh Gupta -4 years ago 122
Java Question

Unable to connect to remote hbase from java program

Hi I am trying to connect to hbase in a remote machine from my java program. But I am getting connection refused error. On looking at the error I think it is trying to connect to my localhost instead of the remote machine.

My configuration is like-

HBaseConfiguration conf = new HBaseConfiguration();
conf.set("hbase.master", "");
conf.set("hbase.zookeeper.quorum.", "");
conf.set("hbase.zookeeper.property.clientPort", "2181");

I am getting the following error

13/11/15 17:35:08 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
13/11/15 17:35:08 INFO zookeeper.ClientCnxn: Opening socket connection to server Will not attempt to authenticate using SASL (unknown error)
13/11/15 17:35:08 WARN zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/master
13/11/15 17:35:08 INFO util.RetryCounter: The 1 times to retry after sleeping 2000 ms

Also on running lsof on the remote machine to check if my port 2181 is open. I got the following result-

java 18854 root 266u IPv6 6199707 0t0 TCP> (CLOSE_WAIT)

Answer Source

Your zookeeper quorum ip adderess also specifies a port (60010) remove that Also you have an unnecessary . after quorum

conf.set("hbase.zookeeper.quorum", ""); 
conf.set("hbase.zookeeper.property.clientPort", "2181");
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download