hbase集群master节点无法启动问题的处理经验

主题:hbase集群master节点无法启动问题的处理经验

补充说明:主要针对hbase2.0.2版本,其他版本可能有用也可能没用。这些都是公司生产环境出现过的hbase问题经验总结,第一次遇到的时候我花了不少时间研究解决办法,如果这篇文章帮助到你了麻烦评论里写支持下。

第一种情况:

重启集群时,如果报错hbase:meta表不在服务器上,导致集群无法启动如何解决?(如下图)

查看日志:报错异常栈中存在migratezookeeper这个程序提示meta region is in state opening。并且该报错会可能重复出现,一直再刷,还可能会伴随[org.apache.hadoop.hbase.client.RpcRetryingCaller] Call exception 之类的报错

解决办法:可以使用尝试删除zk中节点meta-region-server和table下的所有节点,然后重启master,该报错即可解决。被删除的zk节点会被master程序重建

第二种情况:

重启集群时,报错namespace不在服务器上,导致集群无法启动如何解决(如下图)?

观察日志:。。。‘default’ on table 'hbase:namespace' at region=hbase:namespace 。。。。并且该报错会可能重复出现,一直再刷,还可能会伴随[org.apache.hadoop.hbase.client.RpcRetryingCaller] Call exception 之类的报错

说明:master请求hbase:namespace这个region所在的regionserver,但是这个regionserver并没有hbase:namespace这个region,master请求不到

解决办法:修改元数据表,使得namespace表状态为离线,举例如下命令

put 'hbase:meta' ,'hbase:namespace,,1577418002600.769b4d77f8d07c20063310195c8ea505.' ,'info:state','OFFLINE'

(注意了!不要照抄这个命令!这是个举例,因为hbase:namespace在hbase:meta表中的rowkey每个集群都是不同的,所以需要你自己在meta表中找出rowkey是哪个,然后把info:state这一个列改成OFFLINE,如果你怕写错rowkey,可以先用get命令试试,别put错了,造成更多麻烦)

重启master节点,master会认为hbase:namespace这个region已经离线,会将其重新上线。问题解决,master可以正常启动

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值