使用Java客户端API连接到Cloudera VM上的Hbase:
我正在使用以下JAVA代码来建立连接:
Configuration hConfig = null;
hConfig = HBaseConfiguration.create();
hConfig.set("hbase.zookeeper.quorum", **zookepperQuorum**);
hConfig.set("hbase.zookeeper.property.clientPort", **zookepperClientPort**);
HBaseAdmin.checkHBaseAvailable(hConfig);
这是我在windows上的CmdLine的ipConfig:
以太网适配器本地连接:
链路本地IPv6地址。 。 。 。 。 :fe80 :: a03b:5ec2:cc82:f952%12
IPv4地址。 。 。 。 。 。 。 。 。 。 。 :10.108.0.87
子网掩码 。 。 。 。 。 。 。 。 。 。 。 :255.255.254.0
默认网关 。 。 。 。 。 。 。 。 。 :10.108.0.1
以太网适配器VirtualBox主机专用网络:
连接特定的DNS后缀。 :
链路本地IPv6地址。 。 。 。 。 :fe80 :: ecfb:969e:aa2e:1195%52
IPv4地址。 。 。 。 。 。 。 。 。 。 。 :192.168.56.1
子网掩码 。 。 。 。 。 。 。 。 。 。 。 :255.255.255.0
默认网关 。 。 。 。 。 。 。 。 。 :
这是我在Cloudera VM中的主机文件 :
127.0.0.1 localhost.localdomain localhost
根据网上的建议,我尝试了不同的方式连接到Hbase,但这些对我来说并不合适。
我收到以下错误:
13/11/11 16:13:03警告zookeeper.ClientCnxn:服务器null的会话0x0,意外错误,关闭套接字连接并尝试重新连接
java.net.ConnectException:连接被拒绝:没有进一步的信息
在sun.nio.ch.SocketChannelImpl.checkConnect(本地方法)
在sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:735)
在org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
13/11/11 16:13:03 WARN zookeeper.RecoverableZooKeeper:可能是暂时的ZooKeeper异常:
org.apache.zookeeper.KeeperException $ ConnectionLossException:KeeperErrorCode = ConnectionLoss for
/ HBase的/ hbaseid
13/11/11 16:13:03 INFO util.RetryCounter:在重试#2之前睡4000毫秒...
13/11/11 16:13:04信息zookeeper.ClientCnxn:打开套接字连接到服务器
的localhost.localdomain / 192.168.56.1:2181。 不会尝试使用SASL进行身份验证(未知错误)
13/11/11 16:13:05警告zookeeper.ClientCnxn:服务器null的会话0x0,意外错误,关闭套接字连接并尝试重新连接
java.net.ConnectException:连接被拒绝:没有进一步的信息
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:735)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
13/11/11 16:13:06信息zookeeper.ClientCnxn:打开套接字连接到服务器localhost.localdomain / 192.168.56.1:2181。 不会尝试使用SASL进行身份验证(未知错误)
如果有人能列出能够帮助我设置远程连接的步骤,那将会很棒。
这个答案有点晚了,但我希望其他人可以从中受益。
当得到错误“服务器null的会话0x0”时,可能的问题之一是你的HBase代码不知道在哪里连接。 解决这个问题的最佳方法是加载你的hbase-site.xml配置文件。
Configuration config = HBaseConfiguration.create();
config.addResource(new Path("/XXXX/hbase/hbase-0.98.9/conf/hbase-site.xml"));
链接地址: http://www.djcxy.com/p/65797.html
上一篇: Connect to Hbase on Cloudera VM using the Java Client API :