数据包len1397966893超出了hbase java客户端的范围

时间:2014-12-11 06:42:20

标签: java hadoop hbase

访问远程hbase服务器时,我的java hbase客户端出现上述错误。我在构建路径中设置了所有必需的jar文件,我还从web ui hbase-site.xml复制了所需的配置详细信息。但我不知道出了什么问题。我无法访问远程hadoop / hbase / zookeeper配置。我从

找到了一些建议

http://marcin.cylke.com.pl/blog/2013/03/21/zookeeper-tips/

低于m,提供代码片段和堆栈跟踪。

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)

1 个答案:

答案 0 :(得分:0)

java.io.IOException:数据包len1397966893超出范围!

它说非常肯定,你的网络数据包大于zk的默认值 所以你应该设置JAVA_OPTS =&#34; -Djute.maxbuffer = 10000000 -Djava.awt.headless = true -Djava.net.preferIPv4Stack = true&#34;到zk jvm,以及你的客户端应用程序