網(wǎng)站商城的建設(shè)今天今日頭條新聞
【FusionInsight 遷移】HBase從C50遷移到6.5.1(01)遷移概述
- HBase從C50遷移到6.5.1(01)遷移概述
- 遷移范圍
- 遷移前的準(zhǔn)備
- HDFS文件檢查
- 確認(rèn)HBase遷移目錄
- 確保數(shù)據(jù)落盤
- 停止老集群HBase服務(wù)
- 停止新集群HBase服務(wù)
HBase從C50遷移到6.5.1(01)遷移概述
項(xiàng)目上最近全新部署了FusionInsight HD 6.5.1大數(shù)據(jù)集群,并且希望將老集群FusinInsight HD C50的所有業(yè)務(wù)都遷移到新集群上。由于在老集群C50上的HDFS、HBase中存在有大量的業(yè)務(wù)數(shù)據(jù),因此將業(yè)務(wù)從C50遷移到6.5.1的過(guò)程中,就需要將C50上的業(yè)務(wù)數(shù)據(jù)同步遷移到新集群6.5.1上。
遷移范圍
- 遷移方向
- 從老集群FusinInsight HD C50遷移數(shù)據(jù)到新集群FusionInsight HD 6.5.1。
- 遷移場(chǎng)景
- 生產(chǎn)實(shí)施,HDFS、HBase數(shù)據(jù)遷移。
- 遷移方式
- 離線遷移
- 影響范圍
- 離線數(shù)據(jù)遷移,需要完成所有存量數(shù)據(jù)的遷移,遷移完成后做數(shù)據(jù)驗(yàn)證及業(yè)務(wù)切換。
遷移前的準(zhǔn)備
在做數(shù)據(jù)遷移前需要做一些必要的準(zhǔn)備工作。
使用admin用戶登錄到需要遷移數(shù)據(jù)的老集群FusinInsight C50的Manager。
登錄成功后進(jìn)入到Manager的主界面。
HDFS文件檢查
在HDFS服務(wù)的status界面查看是否有missing block。
如果存在missing block,則需要登錄集群客戶端,執(zhí)行命令:
hdfs fsck /
查看并分析具體的原因。
確認(rèn)HBase遷移目錄
遷移前還需要確認(rèn)需要遷移的具體目錄,可以通過(guò)HDFS Web UI進(jìn)行查看。
以及:
各個(gè)目錄的說(shuō)明如下:
路徑 | 說(shuō)明 |
---|---|
/hbase/.tmp | 當(dāng)對(duì)表做創(chuàng)建或者刪除操作的時(shí)候,會(huì)將表move到該tmp目錄下,然后再去做處理操作。 |
/hbase/WALs | 被HLog實(shí)例管理的WAL文件。 對(duì)于每個(gè)HregionServer,日志目錄中都包含一個(gè)對(duì)應(yīng)的子目錄 在每個(gè)子目錄下有多個(gè)HLog文件(因?yàn)槿罩緷L動(dòng))。 |
/hbase/archive | 存儲(chǔ)表的歸檔和快照,HBase在做Split或者compact操作完成之后,會(huì)將HFile移到archive目錄中,然后將之前的HFile刪除掉,該目錄由HMaster上的一個(gè)定時(shí)任務(wù)定期去清理。存儲(chǔ)表的歸檔和快照具體目錄:/hbase/archive/data/default/表名/region名/列族名/fd2221d8d1ae4e579c21882f0ec4c5a5 |
/hbase/corrupt | 損壞的日志文件,一般為空。 |
/hbase/data | HBase存儲(chǔ)數(shù)據(jù)的核心目錄。 |
/hbase/data/default | 該目錄存儲(chǔ)所有用戶數(shù)據(jù)表/hbase/data/default/表名。 |
/hbase/data/hbase | 該目錄存儲(chǔ)了存儲(chǔ)了HBase的namespace、meta和acl三個(gè)系統(tǒng)級(jí)表。 - /hbase/data/hbase/namespace namespace中存儲(chǔ)了HBase中的所有namespace信息,包括預(yù)置的hbase和default。 - /hbase/data/hbase/meta meta表存儲(chǔ)了所有Region信息的列表 - /hbase/data/hbase/acl acl則是表的用戶權(quán)限控制 |
/hbase/hbase.id | 集群的唯一ID。 |
/hbase/hbase.version | 集群的文件格式版本信息。 |
/hbase/oldWALs | 當(dāng)/hbase/WALs中的HLog文件被持久化到存儲(chǔ)文件中,不再需要日志文件時(shí),它們會(huì)被移動(dòng)到/hbase/oldWALs目錄。 |
由于遷移過(guò)程只需要遷移HBase的數(shù)據(jù),因此只需要遷移/hbase/data目錄即可。
確保數(shù)據(jù)落盤
在數(shù)據(jù)遷移前,需要確保老集群FusinInsight HD C50上的HBase的所有表的數(shù)據(jù)已全部落入磁盤。
可以通過(guò)客戶端,進(jìn)入hbase shell客戶端,對(duì)HBase的所有表都進(jìn)行flush操作:
flush tablename
或者通過(guò)hdfs命令檢查/hbase/WALs目錄為空,或者大小為0:
hdfs dfs -du -h /hbase
停止老集群HBase服務(wù)
在遷移過(guò)程中,為了保證數(shù)據(jù)的完整性、一致性,防止因增量數(shù)據(jù)的產(chǎn)生而導(dǎo)致HDFS目錄結(jié)構(gòu)的變化,需要確保老集群FusinInsight HD C50上的HBase服務(wù)處于停止?fàn)顟B(tài),因此,遷移時(shí)間點(diǎn)應(yīng)該選在無(wú)業(yè)務(wù)數(shù)據(jù)產(chǎn)生的時(shí)間段。
停止新集群HBase服務(wù)
因?yàn)閿?shù)據(jù)遷移會(huì)覆蓋新集群FusinInsight HD 6.5.1上的HBase的數(shù)據(jù),因此需要確保新集群的HBase的所有數(shù)據(jù)可刪除、可覆蓋,并且同樣需要停止HBase服務(wù)。
使用admin用戶登錄到新集群FusinInsight HD 6.5.1的Manager,并在HBase服務(wù)界面,點(diǎn)擊停止按鈕停止HBase服務(wù)。
HBase服務(wù)停止后,點(diǎn)擊完成按鈕。
如果新集群中的HBase已經(jīng)有數(shù)據(jù),或者數(shù)據(jù)比較重要,也可以備份一下原有數(shù)據(jù)。
hdfs dfs -cp /hbase /hbase_bak
hdfs dfs -ls /hbase
備份完成后的文件如下:
至此,遷移前的準(zhǔn)備工作就完成了,接下來(lái)就可以實(shí)施遷移工作。