【问题标题】:Packet len1397966893 is out of range in hbase java client数据包 len1397966893 在 hbase java 客户端中超出范围
【发布时间】: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

标签: java hadoop hbase


【解决方案1】:

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

说的很确定,你的网络包比zk的默认值大 所以你应该将 JAVA_OPTS=" -Djute.maxbuffer=10000000 -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true " 设置为 zk jvm 和你的客户端应用程序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    相关资源
    最近更新 更多