How-to resolve hbase shutdown caused by "KeeperErrorCode = ConnectionLoss for /hbase"

本文档详细记录了解决HBase因Zookeeper连接丢失错误而关闭的问题。错误日志显示Zookeeper创建失败,原因在于/Zhbase路径的ConnectionLoss。通过检查发现集群中的三个Zookeeper节点myid配置相同,均为1。解决方案是根据zoo.cfg配置文件更新每个节点的myid为1,2,3,并重启Zookeeper服务,从而修复了HBase的问题。" 120370007,7371989,使用GitLab CI/CD构建前端微服务单镜像方案,"['devops', 'ci/cd', '微服务']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Error log:
2015-06-23 17:35:05,995 WARN  [main] zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper, quorum=slave.chff.dc:2183,master.chff.dc:2183,slave01.chff.dc:2183, exception=org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
2015-06-23 17:35:05,995 ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeeper create failed after 4 attempts
2015-06-23 17:35:05,997 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2044)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:198)
        at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:139)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
        at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2058)
Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
        at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:783)
        at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.createNonSequential(RecoverableZooKeeper.java:512)
        at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.create(RecoverableZooKeeper.java:491)
        at org.apache.hadoop.hbase.zookeeper.ZKUtil.createWithParents(ZKUtil.java:1252)
        at org.apache.hadoop.hbase.zookeeper.ZKUtil.createWithParents(ZKUtil.java:1230)
        at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.createBaseZNodes(ZooKeeperWatcher.java:174)
        at org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatcher.java:167)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.<init>(HRegionServer.java:541)
        at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:347)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:2039)
        ... 5 more

Resolve:
This kind of error is alwayse caused by zookeeper cluster issue. Need to check zookeeper log. There are 3 zookeeper nodes in cluster, but all their myid is 1. Found following similiar log in all nodes' zookeeper.out:
2015-06-23 17:24:28,941 [myid:1]
This is wrong, as zookeeper server should use different id. Based on zoo.cfg:
server.1=host1:2888:3888
server.2=host2:2888:3888
server.3=host3:2888:3888
Update content in myid file to different one: 1,2,3. Restart zookeeper, then HBase worked.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值