apache Hbase2.x disbale 表卡住

櫰木2年前技术文章874

1、现象

通过hbase shell disble 表,显示表已经被disable了,但是在drop table 时,又显示出现表被disable

1.png

2、分析

通过命令查看表的状态

is_disabled 'Employee'

2.png

通过原数据查看表的状态

get "hbase:meta","Employee","table:state"

3.png

一般正常情况下可以发现value为\x08\x03,正常的值是\x08\x00(Enabled)或者\x08\x01(Disabled)

https://donsnotes.com/tech/charsets/ascii.html

3、解决方法

方式1:修改表元数据
通过修改hbase meta表里面对应表的状态,这种方式目前试了一下,貌似对我这边没什么用。具体的思路如下:

  1. 修改hbase:meta 把表对应的状态置为开启或者关闭状态

hbase> put "hbase:meta","Employee","table:state",value="\b\01"
  1. 查看是否被修改

hbase> get "hbase:meta","Employee","table:state"
  1. 查看表状态

hbase> is_disabled 'Employee'
false
hbase> is_enabled 'Employee'
true
  1. 尝试drop table
    不能正常删除,还是显示表的状态为disableing

  2. 参考文档 :https://community.cloudera.com/t5/Support-Questions/Hbase-table-is-stuck-in-quot-Disabling-quot-state-Neither/m-p/235112

drop 'Employee'

方式2:通过hbase2.x 修复工具

  1. 设置表状态

./bin/hbase --config /opt/hbase/conf/ hbck -j hbase-operator-tools-1.2.0/hbase-hbck2/hbase-hbck2-1.2.0.jar setTableState  Employee DISABLED

表状态分为:enable,disable。enabling,disabling

4.png

不过在开始操作之前,最好看一下该表所有region对应的状态,否则,就算设置为DISABLE状态,在删除的时候依然不能正常删除。
2)查看当前表所有的region状态

./bin/hbase shell <<< "scan 'hbase:meta', {FILTER=>\"PrefixFilter('Employee')\"}" |grep "info:state"

5大.jpeg

  1. 如果表region状态跟你预想的不一样,可以通过HBCK2 设置region的状态

HBCK2使用

4) 删除表

6.png


相关文章

大数据基础之HBase入门介绍

大数据基础之HBase入门介绍

一、HBase简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HB...

Ranger中Solr审计日志配置修改

Ranger中Solr审计日志配置修改

1、获取solr 中的rangeraudits的配置#查看其中的配置及 solrctl instancedir --list#获取配置 solrctl instancedir --get rang...

Prometheus+Consul服务自动发现监控

Prometheus+Consul服务自动发现监控

为什么使用consulprometheus作为新一代的监控利器,有很多优点,部署起来也十分方便。部署prometheus后自然会需要使用prometheus去监控物理机或者虚拟机的资源,这里就需要使用...

Hbase&Hive区别对比

Hbase和Hive定义区别Hbase,其实是Hadoop database的简称,是一种NoSQL数据库,主要适用于海量明细数据(十亿、百亿)的随机实时查询,如日志明细、交易清单、轨迹行为等。Hiv...

spark与mr的异同

1.MR:抽象层次低,需要使用手工代码来完成程序编写,使用上难以上手;Spark:Spark 采用RDD 计算模型,简单容易上手。2.MR:只提供map 和reduce 两个操作,表达能力欠缺;Spa...

MySQL运维实战之备份和恢复(8.1)xtrabackup全量备份

xtrabackup是percona开源的mysql物理备份工具。xtrabackup 8.0支持mysql 8.0版本的备份和恢复。xtrabackup 2.4支持mysql 5.7及以下版本的备份...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。