情景:
強制刪除表:
1、強制刪除該錶在hdfs上的所有檔案(路徑根據實際情況而定):
./hadoop
fs -rmr/hbase/trojaninfo
2、刪除該錶在hbase系統表.meta.中的記錄:
a、首先從.meta.中查詢出表 trojaninfo在.meta.中的rowkey,這可以通過scan '.meta.',然後手動篩選;
b、然後刪除該rowkey下的3個字段(假設查詢出的rowkey為trojaninfo,,1361433390076.2636b5a2b3d3d08f23d2af9582f29bd8.)
delete'trojaninfo','trojaninfo,,1361433390076.2636b5a2b3d3d08f23d2af9582f29bd8.','info:server'
delete'trojaninfo','trojaninfo,,1361433390076.2636b5a2b3d3d08f23d2af9582f29bd8.','info:serverstartcode'
delete'trojaninfo','trojaninfo,,1361433390076.2636b5a2b3d3d08f23d2af9582f29bd8.','info:regioninfo'
c、重啟hbase即可刪除表 trojaninfo
由於操作hbase比較粗獷,有時直接在hadoop中刪除hbase對應的表,導致.meta.中還記錄著表項,但實際儲存空間中卻沒找到。這樣就會導致hbase的log中總在報錯,說找不到***表,而且log在飛快增長。
辦法是刪除.meta.中對應表項。
原來,.meta.和-root-其實也是hbase的兩個特殊的表,這就是說,我們可以scan、delete等對其進行操作。
1. scan 『.meta.'
可以看到,本來已經刪除的表,還在這裡存在記錄。而且每個表,會分別對應3行記錄。
2. delete對應的行。
刪除.meta.表項與刪除table中一行一樣,輸入:
delete '.meta.',row,column
delete後加上3個引數,分別是:表、行、列(如 a:b)就能刪除對應行。
之後重啟hbase,報錯就會消失。
b、然後刪除該rowkey下的3個字段(假設查詢出的rowkey為trojaninfo,,1361433390076.2636b5a2b3d3d08f23d2af9582f29bd8.)
delete 'trojaninfo','trojaninfo,,1361433390076.2636b5a2b3d3d08f23d2af9582f29bd8.','info:server'
delete'trojaninfo','trojaninfo,,1361433390076.2636b5a2b3d3d08f23d2af9582f29bd8.','info:serverstartcode'
delete'trojaninfo','trojaninfo,,1361433390076.2636b5a2b3d3d08f23d2af9582f29bd8.','info:regioninfo'
c、重啟hbase即可刪除表 trojaninfo
HBase強制刪除乙個表
情景 由於內網測試環境hbase並沒有安裝 snappy 壓縮,而建表時執行了 plain www.2cto.com alter trojaninfo 強制刪除表 1 強制刪除該錶在hdfs上的所有檔案 路徑根據實際情況而定 sql hadoop fs rmr hbase trojaninfo 2 ...
hbase中強制刪除表
因為集群硬碟緊俏,絕對對原來的表加上compression lzo屬性。但是建立表,長時間沒有反饋。決定drop掉這張表,但是始終drop失敗。重啟集群,hbase 60010介面顯示有region transaction。為建立失敗的表region,在pending open和closed之間跳。...
HBase刪除表中資料
1 使用hbase shell中delete命令刪除表中特定的單元格資料,命令格式如下 delete tablename row column name time stramp 刪除emp表中第二行personal data name列 時間節點為1502182102866的記錄 delete em...