hbase:namespace is not online

好久没写文章了,现在想起来过来写一下

这里记一个线上的错误吧。由于机器重启导致

想去建表,结果一直报

Master is initializing  

这个时候去查看master后台日志,发现了一个比较重要的信息

org.apache.hadoop.hbase.master.HMaster: hbase:namespace,,1587462234163.0573ab825d2e7506bb13be35cc74311e. is NOT online; state={0573ab825d2e7506bb13be35cc74311e state=OPEN, ts=1608716344813, server=hadoop1,16020,1604911593541}; ServerCrashProcedures=true. Master startup cannot progress, in holding-pattern until region onlined.

这个是由于master初始化的时候,必须分配hbase:meta 和  hbase:namespace ,然后namespace的region信息错误导致。

这个可能由2个原因

1.hdfs块有损坏 使用hadoop fsck / 这个命令去查看
2.meta表数据有错误导致

本次我碰到的是,第二个错误,以下是解决步骤

首先尝试第一步:
1.关闭集群,然后删除zk上的 /hbase 节点
2.启动集群,查看效果


如果第一步没有成功,那么就需要去修改meta上的信息数据了
第一种解决方案:https://blog.csdn.net/czhdolyec/article/details/107906490 
    这个是python的,查看那个region,在meta里的信息数据是否一致,不一致则修改掉。但是!!!!我查看了以后发我查出来的数据,b'info:server 和 b'info:sn' 是一致的
    而且b'info:state' 也是 open 状态。这个就很头疼了


第二种解决方案:https://blog.csdn.net/xyzkenan/article/details/103476160
    直接用代码,去githup上把代码拿过来,然后配置弄好,去修复一下
    之后再进行第一步即可

 

你可能感兴趣的:(hbase,hbase,namespace,not,online)