【发布时间】:2014-12-11 06:42:20
【问题描述】:
在访问远程 hbase 服务器时,我的 java hbase 客户端出现上述错误。我在构建路径中设置了所有必需的 jar 文件,还从 web ui hbase-site.xml 复制了所需的配置详细信息。但我不知道出了什么问题。我无权访问远程 hadoop/hbase/zookeeper 配置。我从
中找到了一些建议http://marcin.cylke.com.pl/blog/2013/03/21/zookeeper-tips/
在 m 下面提供代码 sn-p 以及堆栈跟踪。
代码
Configuration config = HBaseConfiguration.create();
config.clear();
config.addResource("hbase-site.xml");
config.set("hbase.zookeeper.quorum","10.***.2.231");
config.set("hbase.zookeeper.property.clientPort","22");
config.set("hbase.master", "10.***.1.232:60000");
//config.set("hbase.zookeeper.property.maxClientCnxns","300");
HTable table = new HTable(config, "WB4213");
Scan scan = new Scan();
ResultScanner scanner = table.getScanner(scan);
堆栈跟踪
14/12/11 05:32:20 INFO zookeeper.ClientCnxn: Opening socket connection to server 10.***.1.231/10.***.1.231:22. Will not attempt to authenticate using SASL (unknown error)
14/12/11 05:32:22 INFO zookeeper.ClientCnxn: Socket connection established to 10.241.1.231/10.241.1.231:22, initiating session
14/12/11 05:32:23 WARN zookeeper.ClientCnxn: Session 0x0 for server 10.***.2.231/10.***.2.231:22, unexpected error, closing socket connection and attempting reconnect
java.io.IOException: Packet len1397966893 is out of range!
at org.apache.zookeeper.ClientCnxnSocket.readLength(ClientCnxnSocket.java:112)
at org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:79)
at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:366)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
14/12/11 05:32:23 WARN zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper exception: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/root-region-server
14/12/11 05:32:23 ERROR zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries
14/12/11 05:32:23 WARN zookeeper.ZKUtil: hconnection Unable to set watcher on znode /hbase/root-region-server
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/root-region-server
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:154)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.watchAndCheckExists(ZKUtil.java:226)
at org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.start(ZooKeeperNodeTracker.java:76)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:583)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:569)
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:186)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:194)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:171)
at com.sample.HbaseConnector.main(HbaseConnector.java:25)
14/12/11 05:32:23 ERROR zookeeper.ZooKeeperWatcher: hconnection Received unexpected KeeperException, re-throwing exception
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/root-region-server
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:154)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.watchAndCheckExists(ZKUtil.java:226)
at org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.start(ZooKeeperNodeTracker.java:76)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:583)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:569)
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:186)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:194)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:171)
at com.sample.HbaseConnector.main(HbaseConnector.java:25)
14/12/11 05:32:23 FATAL client.HConnectionManager$HConnectionImplementation: Unexpected exception during initialization, aborting
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/root-region-server
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:154)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.watchAndCheckExists(ZKUtil.java:226)
at org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.start(ZooKeeperNodeTracker.java:76)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:583)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:569)
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:186)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:194)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:171)
at com.sample.HbaseConnector.main(HbaseConnector.java:25)
java.io.IOException: org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@57e75713 closed
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:794)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:782)
at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:249)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:213)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:171)
at com.sample.HbaseConnector.main(HbaseConnector.java:25)
【问题讨论】:
-
我不确定,但您的 Clint 服务器连接似乎有问题,因为它清楚地表明
.ClientCnxn: Session 0x0 for server 10.241.1.231/10.241.1.231:22, unexpected error, closing socket connection,请不要公开分享您的 IP -
那是因为 I/O 异常 len1397966893 超出范围! @smn_onrocks