1. 程式人生 > >hbase中出現unknown table錯誤的解決辦法

hbase中出現unknown table錯誤的解決辦法

說明:網上眾多千篇一律的版本都說要用到一個add_table.rb的檔案,可是我的版本根本hbase下就不存在這個檔案。

1.把資料表test從hbase下拷出(hadoop dfs -get /hbase/test ./)

2.檔案放到新叢集的系統上。

3.oop dfs -put test /hbase/test)

4.到hbase shell下list,可以看到test表已經存在,但是你scan的時候出現錯誤:

TABLE
test
1 row(s) in 0.0220 seconds

hbase(main):062:0> scan 'test'
ROW                                        COLUMN+CELL

ERROR: Unknown table test!

 錯誤很容易理解:你只是把表放進記憶體,但是hbase並不清楚他的結構,也不知道有資料放進去,根據經驗,這需要執行一些東西來讓hbase與這些資料聯絡

5.先修復.META.表:

hbase hbck -fixMeta
這樣scan'.META.'就能發現裡面有test的資訊,在執行scan,檢視。

(網上很多版本說通過一個add_table.rb來實現,但是我的hbase下沒有這個,所以嘗試其他方式。)

6.如果依然失敗:

hbase hbck -fixAssignments(重新分割槽)
再執行test應該沒有問題了。