问题描述:
正式环境 hbase集群与多个中间件集群共用5台服务器导致这5台服务器整体资源使用紧张,内存、磁盘I/O一直处于上限附近,由于hbase节点挂掉后处理不得当,导致 存在HDFS上的数据块损坏,清理HDFS上的数据导致Hbase Region上的数据出现不一致,重启hbase集群后一直报错如下图:

解决方案:
提示:这里填写该问题的具体解决方案:
例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()。
1、首先我们删除 hbase:meta 中的region元信息,该表已经不再在了,元信息也是没有用的垃圾数据。

上图框中的内容就是存在 meta表中的rowkey,直接去删除就可以。
注:不会出现数据丢失的情况大家可以放心删除
2、进入hbase sehll 删除meta表数据
hbase(main):001:0> delet

文章描述了一个HBase集群因与多个中间件共享服务器导致资源紧张,以及由此引发的数据块损坏和HDFS上数据不一致的问题。解决方案包括删除hbase:meta中的无用元信息,停止并重启master服务,清除MasterProcWALs日志文件,以及重启HBase和调整集群平衡状态。需要注意的是,执行这些操作应谨慎,最好在测试环境中验证。
最低0.47元/天 解锁文章
6426

被折叠的 条评论
为什么被折叠?



