hbase shell中disable 和drop无法执行

1 通过hbase的web监控页面查询工作状态发现Regions in Transition区域有长时间未执行的任务,此时需要关闭hbase-master并重启,再这个问题处理过程中我直接使用/etc/init.d/hbase-master restar命令集群并执行一下操作,均没有生效,最后执行/etc/init.d/hbase-master stop 并将集群中region NUM为0的机器的hbase-regisionserver机器通过/etc/init.d/hbase-regionserver stop,并检查相关程序进程是否关闭,我再执行jps的时候出现一下现象无法直接查看到进程号对应的相关进程名,

[root@dn2 ~]# jps
71125 Jps
143011 NodeManager
65046 MRAppMaster
59326 DataNode
66658 -- process information unavailable
66719 -- process information unavailable

如果出现以上这种情况可以使用一下方法进行查看,java每次启动一个进程再/tmp目录下均会有单独记录如下:
ls /tmp/hsperfdata_*进到相应目录查看,即可观察到进程号,如果存在则上述执行的命令没有执行成功,可以通过kill -9 pid进行关闭,之后再启用集群即可
hbase shell中disable 和drop无法执行
shell>/etc/init.d/hbase-master start
shell>hbase shell
hbase>balance_switch true

hbase(main):007:0> balance_switch true #开启hbase的balance重新平衡
false
0 row(s) in 0.0070 seconds

hbase(main):008:0> balancer #手动触发balance
true
0 row(s) in 57.5330 seconds

此时查看Regions in Transition已经正常,Regions.Num区域也回复平衡
此时进入hbase shell环境执行disable 和drop命令均恢复正常
例:

hbase(main):001:0> drop 'hf_csql_20180301'
0 row(s) in 0.6670 seconds

猜你喜欢

转载自blog.51cto.com/maoxiaoxiong/2124464