在用phoenix创建Hbase表时,有时会提示创建失败,发现Hbase中又已创建成功,

但这些表在进行enable、disable、drop都无效,也无法删除:

hbase(main)::> enable 'TERMINAL_DETAIL_DATA'
##如下异常:
ERROR: org.apache.hadoop.hbase.TableNotDisabledException: TERMINAL_DETAIL_DATA
at org.apache.hadoop.hbase.master.handler.EnableTableHandler.prepare(EnableTableHandler.java:)
at org.apache.hadoop.hbase.master.HMaster.enableTable(HMaster.java:)
at org.apache.hadoop.hbase.master.MasterRpcServices.enableTable(MasterRpcServices.java:)
at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$.callBlockingMethod(MasterProtos.java:)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:)
at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:)
at org.apache.hadoop.hbase.ipc.RpcExecutor$.run(RpcExecutor.java:)
at java.lang.Thread.run(Thread.java:)

网上搜了一堆资料,找到以下解决办法进行处理:

  • 删除ZK中的数据
ls /hbase/table
rmr /hbase/table/TERMINAL_ORDER_DATA
  • 删除HDFS上的数据
hadoop fs -ls /hbase/data/default/TERMINAL_ORDER_DATA
hadoop fs -rm -r /hbase/data/default/TERMINAL_ORDER_DATA
  • 删除meta表信息
在meta表查询数据:
scan 'hbase:meta', {STARTROW=>'TERMINAL_ORDER_DATA,0', ENDROW=>'TERMINAL_ORDER_DATA,9'} 通过rowkey删除,记得删除把该表的meta数据删除干净(server,serverstartcode,regioninfo,seqnumDuringOpen)
delete 'hbase:meta', {STARTROW=>'DEV_TERMINAL_DETAIL_DATA,0', ENDROW=>'DEV_TERMINAL_DETAIL_DATA,9',COLUMN=>'info:server'} --我用的是删除整行记录,不知是不是这里的问题,导致不成功
deleteall 'hbase:meta', 'TERMINAL_ORDER_DATA,1,1568875708811.3168f0db04c8ba74e178bca382255f69.'
deleteall 'hbase:meta', 'TERMINAL_ORDER_DATA,2,1568875708811.477a4ddb088a3693c0091521b19c76b8.'
deleteall 'hbase:meta', 'TERMINAL_ORDER_DATA,3,1568875708811.25fd956f82d7e9f255db5edbbd233424.'
deleteall 'hbase:meta', 'TERMINAL_ORDER_DATA,4,1568875708811.1214182080ddbeb2ffe166c97ab4bf97.'
deleteall 'hbase:meta', 'TERMINAL_ORDER_DATA,5,1568875708811.71326bc45285e6ce4bb3fbf3701db36d.'
deleteall 'hbase:meta', 'TERMINAL_ORDER_DATA,6,1568875708811.9bf957a71f33e441b2a6838b63f2627e.'
deleteall 'hbase:meta', 'TERMINAL_ORDER_DATA,7,1568875708811.5c459432d8cbf3240af531f02d0fa676.'
deleteall 'hbase:meta', 'TERMINAL_ORDER_DATA,8,1568875708811.1040cce5b163b10280d12fb9062ccd2c.'
deleteall 'hbase:meta', 'TERMINAL_ORDER_DATA,9,1568875708811.c7bd43f03f1cad14eacc8ae4f05358c9.'
  • 这时候去hbase中查看,发现还有该表,但是对该HBase表操作提示没有表信息了,这时候重启regionserver就解决问题了,如果是正式环境就不要重启了,直接创建一下该表就能正常使用了

问题就出现在这里,我按照上面的方法处理了后,重启hbase竟然起不来了,不知是哪一步出问题了。搞得最后清空了所有hbase的数据才弄好。在这里先记录一下,后续在分析。

如果要是在生产环境中就需要谨慎的去操作了。

参考 http://stackoverflow.com/questions/14557742/table-is-neither-enables-nor-disabled-in-hbase,通过hbase hbck -fixMeta -fixAssignments.也无法修复!

参考的资料:

https://blog.xiaoxiaomo.com/2016/11/12/HBase-%E5%BC%BA%E5%88%B6%E5%88%A0%E9%99%A4%E8%A1%A8/

HBase管理与监控——强制删除表的更多相关文章

  1. HBase管理与监控——彻底删除HBase数据

    1.hadoop的bin目录下,执行命令以下命令清除Hbase数据 hadoop fs -rm -r /hbase 2.连接ZK,执行以下命令清除Hbase数据 rmr /hbase 3.重启ZK.重 ...

  2. HBASE强制删除表

    1,先把hdfs的对应表的数据删除 hadoop fs -mv /hbase/<table_name> /tmp 2,修复meta信息 hbase hbck -fixMeta -fixAs ...

  3. HBase 强制删除表

    业务系统中有一张表drop不掉了. 可以disable,就是drop不掉. 解决办法: 1.将HDFS上的数据删除或移动 hadoop fs -mv /hbase/<table_name> ...

  4. HBase管理与监控——WebUI

    一.Region Server栏信息 Requests Per Second,每秒读或写请求次数,可以用来监控HBase请求是否均匀.如果不均匀需排查是否为建表的region划分不合理造成. Num. ...

  5. HBase管理与监控——统计表行数

    背景 HBase统计 RowCount 的方法有好几种,并且执行效率差别巨大,以下3种方法效率依次提高.   一.hbase-shell的count命令 这是最简单直接的操作,但是执行效率非常低,适用 ...

  6. HBase管理与监控——HBase region is not online

    发现有些regison程序操作失败,其他region 都是正常的,重启regionserver 后依然报同样的错误. 首先进入hbase的bin目录,执行下面命令检查表是否有存储一致性问题: hbas ...

  7. HBase管理与监控——内存调优

    HMaster 没有处理过重的负载,并且实际的数据服务不经过 HMaster,它的主要任务有2个:一.管理Hbase Table的 DDL操作, 二.region的分配工作,任务不是很艰巨. 但是如果 ...

  8. HBase管理与监控——HMaster或HRegionServer自动停止挂掉

    问题描述 HBase在运行一段时间后,会出现以下2种情况: 1.HMaster节点自动挂掉: 通过jps命令,发现HMaster进程没了,只剩下HRegionServer,此时应用还能正常往HBase ...

  9. HBase管理与监控——Dead Region Servers

    [问题描述] 在持续批量写入HBase的情况下,出现了Dead Region Servers的情况.集群会把dead掉节点上的region自动分发到另外2个节点上,集群还能继续运行,只是少了1个节点. ...

随机推荐

  1. Kotlin环境搭建---Hello World

    对于亲爹都已经宣布它的重要性了,那做为搞安卓的自己有理由去拒绝它么?当然目前国内真正在商业中去采用Kotlin去开发项目的应该不多,但是!这肯定会被普及的,所以为了走在时代的前言,接下来会从基础语法开 ...

  2. 【HDU5952】Counting Cliques

    题目大意:给定一个\(N\)个点,\(M\)条边的无向图,求图中有多少个大小为\(S\)的团.\(N \le 100,deg(i)\le 20,i\in [1,n]\). 题解: 考虑搜索. 需要确定 ...

  3. Python3下UnicodeDecodeError:‘ASCII’ codec cant decode..(128)

    今天准备用Keras跑一下LeNet的程序,结果总是编码出错 源代码是2.7写的,编码格式是utf-8.然后尝试网上各种方法不适用,最后还是解决了 源代码: data = gzip.open(r'C: ...

  4. 第一份c语言作业

    2.1 你对软件工程专业或者计算机科学与技术专业了解是怎样? •答案: 软件工程专业是个年轻的专业,紧跟这个信息化的新时代.我学习它是因为感兴趣,经过一周的学习,我了解了一些 该专业课程主要是c语言程 ...

  5. C#中使用ListView动态添加数据不闪烁(网上方法会出问题)

    最近需要使用做一个动态行显示,所以就用到了ListView控件,在网上也查到了关于动态添加不闪烁的方式都是如下: 首先,自定义一个类ListViewNF,继承自 System.Windows.Form ...

  6. request.getParameterNames获得请求参数的名字(Get或者Post请求的参数都可以)

    1 protected Map<String, String> initRequestParams(HttpServletRequest request) { 2 Map<Strin ...

  7. linux 下python进程查看及关闭

    查看进程 ps -ef |grep python 关闭进程 kill -9 26879 其中26879为进程号. linux下后台执行某个python脚本 nohup python -u xxx.py ...

  8. Mac出现程序闪退的解决方案

    重置PRAM 1. 关机 2.按下电源键后,立即按下command + option + P +R 3.等到电脑出现4次重启的声音后,放开按键,重置成功 4.正常使用

  9. whatis

    whatis 查看命令的说明文档位置及说明 是从数据库中取查找 手动更新数据库 并不是每个命令都有,

  10. JAVA图形小动画之简单行星运动

    //第一个java文件thread_star.java: package solarsystem; import java.awt.Color;import java.awt.Graphics;imp ...