4 Mart 2014 Salı

Hbase - Zookeeper Exception: java.io.IOException: Packet len 4409012 is out of range!

Hbase tablolarımızda çok fazla region olduğunda hbase açılırken aşağıdaki hata görülmekte:

java.io.IOException: Packet len4409012 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:355)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
2014-03-03 16:50:19,762 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/unassigned
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1468)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.listChildrenNoWatch(ZKUtil.java:389)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.deleteChildrenRecursively(ZKUtil.java:1045)
at org.apache.hadoop.hbase.zookeeper.ZKAssign.deleteAllNodes(ZKAssign.java:476)
at org.apache.hadoop.hbase.master.AssignmentManager.cleanoutUnassigned(AssignmentManager.java:193)

at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:394)
at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:281)

Bu hatanın çözümü için hbase/conf/hbase.env dosyasında "HBASE_OPTS" bölümüne 
"-Djute.maxbuffer=4509012" değeride eklenmeli. Böylelikle zookepperrın yükleyeceği dosya boyutu default 1M dan daha fazla değere arttırılmış olacaktır. Buraad ayarlanan değer hatada belirtilen değerden büyük olmalıdır.