apache Hbase2.x disbale 表卡住

櫰木2年前技术文章854

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


相关文章

Linux进程管理详解

Linux进程管理详解

1 进程分类系统进程可以执行内存资源分配和进程切换等管理工作,而且该进程的运行不受用户的干预,即使是root用户也不能干预系统进程的运行。用户进程通过执行用户程序、应用程序或内核之外的系统程序而产生的...

lvm介绍和常用命令

lvm介绍和常用命令

在分区的时候,每个分区应该分多大是令人头疼的,而且随着长时间的运行,分区不管你分多大,都会被数据给占满。当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分...

大数据平台袋鼠云托管运维与自建集群运维对比

对比维度袋鼠云托管运维自建hadoop集群运维成本根据业务需求定制架构,预估业务增涨合理规划,低成本高性价比需自行预估资源,规划架构性能大量集群优化经验,根据业务需求进行点对点优化采用开源社区版本,性...

 MySQL性能优化(十)in参数列表过长导致的性能问题

MySQL性能优化(十)in参数列表过长导致的性能问题

有时候可能有人会问:where条件中使用in和or有什么区别,哪种写法性能更好?in参数个数有没有限制?下面就是一个由于in参数列表过长导致的性能问题。一个例子当时使用的是mysql 5.6版本SEL...

helm安装部署trino对接hive(一)

helm安装部署trino对接hive(一)

前提:本文前提是基于hive组件已经提前安装的情况下,安装部署好trino容器之后进行对hive组件的对接。helm trino地址:https://artifacthub.io/packages/h...

MySQL 函数触发隐式转换应对策略

前言MySQL 中,当 SQL 索引字段使用了函数的话,会出现隐式转换的问题,导致索引失效,从而导致 SQL 执行效率变慢。本篇文章介绍 MySQL 不同版本此类问题的应对策略。1. 环境介绍以下是本...

发表评论    

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