0

嗨,我正在尝试从我的 java 程序连接到远程机器中的 hbase。但我收到连接被拒绝错误。在查看错误时,我认为它正在尝试连接到我的本地主机而不是远程机器。

我的配置就像-

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

我收到以下错误

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 127.0.0.1/127.0.0.1:2180. 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

还在远程机器上运行 lsof 以检查我的端口 2181 是否打开。我得到以下结果-

java      18854         root  266u  IPv6 6199707      0t0  TCP 127.0.0.1:47000->127.0.0.1:2181 (CLOSE_WAIT)
4

2 回答 2

1

您的 zookeeper quorum ip adderess10.219.47.22:60010还指定了一个端口(60010)删除,而且您.在 quorum 之后还有一个不必要的

conf.set("hbase.zookeeper.quorum", "10.219.47.22"); 
conf.set("hbase.zookeeper.property.clientPort", "2181");
于 2013-11-16T19:35:45.187 回答
1

60010 端口仅用于 web ui 不用于连接。检查此代码段是否可以帮助您:

Configuration hbaseConfiguration = HBaseConfiguration.create();
hbaseConfiguration.addResource(new Path("hbase-site.xml");

并在 hbase-site.xml 文件中添加类似于主节点上 hbase 安装文件夹的 conf 文件夹中的属性。

于 2013-11-17T09:32:45.447 回答