HBase強制刪除乙個表 元資料

2021-06-18 14:09:48 字數 1616 閱讀 9592

情景:

強制刪除表:

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...