1. 程式人生 > >hbase shell中disable 和drop無法執行

hbase shell中disable 和drop無法執行

hbase shell balancer_switch drop disable 大數據

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進行關閉,之後再啟用集群即可
技術分享圖片
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

hbase shell中disable 和drop無法執行