赞
踩
好久没写文章了,现在想起来过来写一下
这里记一个线上的错误吧。由于机器重启导致
想去建表,结果一直报
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上把代码拿过来,然后配置弄好,去修复一下
- 之后再进行第一步即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。