公司測試環境使用三臺機器搭建了一個簡單的集羣,內存小,網速慢並且仍是虛機.可是測試的時候仍是保存了大量的數據.可是因爲一些其餘緣由,形成數據只能在測試環境生成,不能在線上直接生成數據.因此就須要把數據從測試環境把數據導入到線上的HBase環境shell
剛開始使用了HBase的Export與Import 的方式來作導出.
oop
好吧,虛機幾百萬的數據,老是失敗..一直都是在報錯誤,找了很久都沒找到緣由.沒辦法只有想別的方法.
測試
折騰了兩天搞定了導出的方式.code
1. 關閉HBase集羣.
內存
2. Hadoop上找到要導出的HBase表路徑 如: 個人路徑爲: /hbase/data/default/testhadoop
3. 從Hadoop把項目導入到本地環境
test
4. 而後經過硬盤或者其餘把數據發送到另外一套環境的hadoop HBase文件目錄下. hbase/dta/default/test/ (HBase環境一樣須要關閉,)
集羣
5. 若是另外一套也存在該表..(那我就不知道了,我當時是把那套環境的數據導出的.)
方法
6. 打開Hbase,如今就就能夠在HBase shell命令下看到該表了.im
7. 執行
hbase hbck -fixMeta
8. 若是依然沒法操做表.那麼就執行
hbase hbck -fixAssignments(從新分區)
大功告成 !