ambari之hbase數據遷移


一、hbase原理剖析

Base是一個構建在HDFS上的分布式列存儲系統;
HBase是基於Google BigTable模型開發的,典型的key/value系統;
HBase是Apache Hadoop生態系統中的重要一員,主要用於海量結構化數據存儲;
從邏輯上講,HBase將數據按照表、行和列進行存儲。
與hadoop一樣,Hbase目標主要依靠橫向擴展,通過不斷增加廉價的商用服務器,來增加計算和存儲能力。
Hbase表的特點
大:一個表可以有數十億行,上百萬列;
無模式:每行都有一個可排序的主鍵和任意多的列,列可以根據需要動態的增加,同一張表中不同的行可以有截然不同的列;
面向列:面向列(族)的存儲和權限控制,列(族)獨立檢索;
稀疏:空(null)列並不占用存儲空間,表可以設計的非常稀疏;
數據多版本:每個單元中的數據可以有多個版本,默認情況下版本號自動分配,是單元格插入時的時間戳;
數據類型單一:Hbase中的數據都是字符串,沒有類型。

 

注:網絡有三種hbase遷移模式,因群集之間網絡不通,采用手動方式遷移

1、從源HBase集群中復制出HBase數據庫表到本地目錄。

su - hdfs 
hadoop fs -get /apps/hbase/data/data/dpa /本地目錄

2、復制本地目錄數據到新群集中本地目錄中(scp)

3、新群集目錄導入數據

su - hdfs 
hadoop fs -put /本地目錄 /apps/hbase/data/data/dpa

4、新群集中設置權限並修復.META.

su - hdfs 
hadoop fs -chmod -R 777 /apps/hbase/data/data/dpa su - hbase
hbase hbck
-fixMeta

注:權限問題整了我兩天時間,各種問題搜索、請教高人后無果,查看日志發現(日志觀察很重要)

5、重新分配數據到各RegionServer

su - hbase 
hbase hbck -fixAssignments

 

PS:此方法優勢靈活,安全;其它兩種方法未測試,無法做出評價.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM