云數(shù)據(jù)庫HBase標(biāo)準(zhǔn)版或自建HBase遷移至云數(shù)據(jù)庫HBase增強版
本文介紹將云數(shù)據(jù)庫HBase標(biāo)準(zhǔn)版或自建HBase遷移至云數(shù)據(jù)庫HBase增強版的方法。
背景信息
云數(shù)據(jù)庫HBase增強版是基于云原生多模數(shù)據(jù)庫Lindorm內(nèi)核研發(fā)的、完全兼容HBase的云上托管數(shù)據(jù)庫,已經(jīng)在阿里集團(tuán)內(nèi)部發(fā)展超10年,支撐服務(wù)了淘寶、支付寶、菜鳥、優(yōu)酷、高德等業(yè)務(wù)中的大量核心應(yīng)用,在成本、性能、穩(wěn)定性、功能、安全、易用性等方面相比社區(qū)版HBase擁有諸多優(yōu)勢和企業(yè)級能力。
在使用上,用戶可以通過HBase官方客戶端及標(biāo)準(zhǔn)API訪問云數(shù)據(jù)庫HBase增強版,云數(shù)據(jù)庫HBase增強版同時兼容HBase-1.x和HBase-2.x客戶端訪問,在整體功能及API上保證近100%的兼容性。云數(shù)據(jù)庫HBase增強版提供最高7倍于HBase開源版本的性能和一半的存儲成本,詳情請參見產(chǎn)品優(yōu)勢。
數(shù)據(jù)遷移
Lindorm Tunnel Service服務(wù),簡稱LTS(原BDS),該服務(wù)是面向云原生多模數(shù)據(jù)庫Lindorm(云數(shù)據(jù)庫HBase增強版)業(yè)務(wù)場景特點深度定制的數(shù)據(jù)生態(tài)服務(wù)。支持簡單易用的數(shù)據(jù)交換、處理、訂閱等能力,滿足用戶的數(shù)據(jù)遷移、實時訂閱、數(shù)湖轉(zhuǎn)存、數(shù)倉回流、單元化多活、備份恢復(fù)等需求,實現(xiàn)面向Lindorm的一站式數(shù)據(jù)生態(tài)服務(wù)。詳情請參見:LTS服務(wù)介紹。
通過LTS可以實現(xiàn)從云數(shù)據(jù)庫HBase標(biāo)準(zhǔn)版或HBase社區(qū)版向云數(shù)據(jù)庫HBase增強版的不停機遷移。以下是實現(xiàn)不停機遷移的具體操作。
準(zhǔn)備工作
創(chuàng)建待遷移的云數(shù)據(jù)庫HBase標(biāo)準(zhǔn)版集群(也可以是社區(qū)版HBase),具體操作請參見購買集群。
創(chuàng)建ECS服務(wù),您需要確保云數(shù)據(jù)庫HBase標(biāo)準(zhǔn)版集群和ECS實例滿足以下條件,以保證網(wǎng)絡(luò)的連通性。ECS實例信息的查看方法請參見查看實例信息。
所在地域相同,所在可用區(qū)相同。
使用相同的專有網(wǎng)絡(luò)ID。
登錄ECS,創(chuàng)建用戶壓測的目錄,下載壓測工具AHBench。壓測工具請參見:AHBench。
編輯AHBench/conf/hbase-site.xml文件,配置需要測試的云數(shù)據(jù)庫HBase標(biāo)準(zhǔn)版集群連接地址。配置內(nèi)容如下:
<configuration> <property> <name>hbase.zookeeper.quorum</name> <value>hb-bp1u0639js2h7****-master2-001.hbase.rds.aliyuncs.com:2181,hb-bp1u0639js2h7****-master1-001.hbase.rds.aliyuncs.com:2181,hb-bp1u0639js2h7****-master3-001.hbase.rds.aliyuncs.com:2181</value> </property> </configuration>
說明configuration.property.value
:表示云數(shù)據(jù)庫HBase標(biāo)準(zhǔn)版集群連接地址,通過云數(shù)據(jù)庫HBase控制臺獲取,左側(cè)導(dǎo)航欄選擇數(shù)據(jù)庫連接在連接信息區(qū)域查看。編輯AHBench/conf/ahbench-env.properties文件,打開HBASE_VERSION參數(shù)。需要保證Java可以調(diào)用。如下圖所示:
將ECS的IP地址添加至云數(shù)據(jù)庫HBase標(biāo)準(zhǔn)版集群的白名單,具體操作請參見設(shè)置白名單。
登錄HBase Master頁面,通過云數(shù)據(jù)庫HBase控制臺登錄,左側(cè)導(dǎo)航欄選擇數(shù)據(jù)庫連接,在UI訪問區(qū)域中單擊HBase公網(wǎng)訪問。
啟動測試,創(chuàng)建待遷移測試表及數(shù)據(jù)。表情況詳見HBase集群Master頁面。
創(chuàng)建目標(biāo)集群
創(chuàng)建云數(shù)據(jù)庫HBase增強版,具體操作請參見購買集群。
創(chuàng)建LTS(原BDS)集群
創(chuàng)建LTS集群,具體操作請參見開通LTS。
關(guān)聯(lián)源集群和目標(biāo)集群
添加云數(shù)據(jù)庫HBase標(biāo)準(zhǔn)版數(shù)據(jù)源,具體請參見添加HBase數(shù)據(jù)源。
添加云數(shù)據(jù)庫HBase增強版數(shù)據(jù)源,具體請參見添加HBase增強版。
完成集群關(guān)聯(lián)后的LTS數(shù)據(jù)源管理頁面如下圖所示:
登錄LTS操作頁面,登錄方法請參見登錄LTS。完成集群關(guān)聯(lián)后的LTS數(shù)據(jù)源管理頁面如下圖所示:
完成數(shù)據(jù)遷移
數(shù)據(jù)源關(guān)聯(lián)完成后,下一步就可以創(chuàng)建遷移任務(wù)進(jìn)行數(shù)據(jù)遷移了。
登錄LTS操作頁面,左側(cè)導(dǎo)航欄選擇一鍵遷移,單擊創(chuàng)建任務(wù),打開Lindorm/HBase不停機遷移頁面。根據(jù)以下參數(shù)說明配置參數(shù)。
任務(wù)名:定義遷移任務(wù)名稱。
源集群:選擇已經(jīng)關(guān)聯(lián)的源集群。
目標(biāo)集群:選擇已經(jīng)關(guān)聯(lián)的源集群。
操作:勾選遷移操作,對于集群的整體遷移可以同時勾選表結(jié)構(gòu)遷移、實時數(shù)據(jù)復(fù)制、歷史數(shù)據(jù)遷移。
同步/遷移的表:可以支持以下遷移方式。
整個集群遷移: *
某個Namespace下所有表:namespace:*
遷移部分表:namespace1:table1 namespace2:table2 (不同表通過換行進(jìn)行分割)
遷移表的部分列:tableA {"cols": ["f:col1", "f:col2"]}
遷移后的namespace和表的名稱: namespaceA:tableA/namespaceB:tableB
說明如果沒有配置namespace則默認(rèn)為default。
單擊創(chuàng)建,可以在該頁面看到提交后的任務(wù)運行情況。
數(shù)據(jù)驗證。數(shù)據(jù)遷移完成后可以創(chuàng)建數(shù)據(jù)抽樣驗證任務(wù),確認(rèn)源、目標(biāo)集群的數(shù)據(jù)一致性。單擊數(shù)據(jù)驗證按鈕,創(chuàng)建新任務(wù),輸入:源、目標(biāo)集群、抽樣比例、表名等。
數(shù)據(jù)驗證通過后,即代表集群遷移(包括:歷史數(shù)據(jù)和實時增量同步)完成,并且實時同步任務(wù)要始終保持運行中狀態(tài),直到流量切換到新集群。
為了保證集群遷移可回滾,需要配置一個反向的實時同步任務(wù),即把源、目標(biāo)交換的實時同步任務(wù)。
其他注意事項:
對于社區(qū)版HBase需要調(diào)整合適的HLog保留周期,以保證數(shù)據(jù)同步鏈路不會因為HLog被刪除而中斷。
對于自建HBase集群如果開通了kerberos的,請提交工單協(xié)助完成遷移。
如果有通過Bulkload方式做數(shù)據(jù)導(dǎo)入的,因為該方式下不產(chǎn)生HLog,意味著數(shù)據(jù)無法完成集群間的同步,請在新老集群同時配置數(shù)據(jù)導(dǎo)入任務(wù),直至確認(rèn)切流完成,老集群下線。
客戶端配置
對于云數(shù)據(jù)庫HBase標(biāo)準(zhǔn)版和云數(shù)據(jù)庫HBase增強版都建議使用阿里云云數(shù)據(jù)庫HBase提供的客戶端。詳見:HBaseJava SDK下載。
對于仍然希望使用社區(qū)版HBase客戶端的客戶,可以有兩種選擇:歷史版本(Maven方式)或者歷史版本(Jar包替換)。
集群切換
正式切換流量簡要步驟:
應(yīng)用端預(yù)發(fā)布環(huán)境可以正常讀寫新的云數(shù)據(jù)庫HBase增強版集群。
寫入新集群的數(shù)據(jù)可以通過反向同步鏈路將數(shù)據(jù)復(fù)制到老集群。
新老集群的復(fù)制鏈路正常,實時同步延遲較低(正常應(yīng)該小于1秒)。
選擇業(yè)務(wù)低峰期進(jìn)行流量切換。