如果您想要將自建HBase或阿里雲HBase中的資料移轉或同步至Lindorm寬表引擎,可以通過LTS服務完成存量資料移轉和即時資料同步。本文介紹HBase資料同步與遷移的使用情境、功能列表、遷移優勢、使用限制以及遷移任務等操作。
使用情境
自建上云:將HBase資料移轉至Lindorm。
跨地區遷移:例如從青島機房遷移到北京機房。
業務拆分:將部分業務遷移到新的叢集。
功能及優勢
功能說明
支援HBase 1.x、2.x 版本不停機遷移至Lindorm。
支援表結構遷移、即時資料同步、全量資料移轉。
支援整庫遷移、Namespace遷移、表層級遷移。
遷移過程中支援表重新命名。
遷移支援指定時間範圍、Rowkey範圍、指定列。
提供OpenAPI,支援調用API建立遷移任務。
遷移優勢
不停服資料移轉,同時完成歷史資料移轉、即時增量資料的同步。
遷移過程中,自建HBase不會和源叢集的HBase互動,唯讀取源叢集的HDFS,將有效減少對源叢集線上業務的影響。
檔案層資料拷貝比API層資料移轉效率更高,通常能節省超過50%的流量。
單個節點遷移速度可達到150 MB/s,節點數支援水平擴充,可滿足TB、PB層級的資料移轉。
有完善的錯誤重試機制、即時監控任務速度和進度,支援任務失敗警示。
自動同步Schema,保證分區一致。
使用限制
不支援遷移至自建HBase。
不支援開啟Kerberos叢集。
不支援單節點雲HBase執行個體。
由於網路原因,不支援傳統網路下的雲HBase執行個體。
不支援將資料移轉或同步至Lindorm單機版執行個體。
增量資料同步基於HBase WAL實現非同步資料同步,Bulkload的資料和不寫WAL的資料將不會被同步。
不支援搜尋索引的資料移轉。
注意事項
遷移前請確認目的地組群的HDFS容量,防止遷移過程中出現容量寫滿的情況。
增量同步處理提交前,建議將源叢集的日誌保留時間調大至12小時以上,給增量同步處理出錯預留一些處理的時間。修改方式:修改
hbase-site.xml
檔案中hbase.master.logcleaner.ttl參數的值,並在修改後重啟HMaster。hbase.master.logcleaner.ttl參數的單位為毫秒(ms),設定時需注意單位轉化,例如,hbase.master.logcleaner.ttl=43200000
表示設定日誌保留時間為12小時。客戶無需在目的地組群建立表,LTS同步服務會自動建立和源叢集一樣的表,包括分區的資訊。客戶自建的目標表可能會和源表分區很不一致,這可能會導致遷移完成之後,目標表會進行頻繁的split、compaction,如果表的資料量十分龐大,可能會導致這個過程非常耗時。
如果源錶帶有coprocessor,在建立目標表的時候需要確保目的地組群包含coprocessor對應的JAR包。
開啟增量同步處理後,如果不消費資料,預設日誌會保留48小時,逾時後訂閱關係自動取消,保留的資料自動刪除。
前提條件
已檢查源叢集、目的地組群、LTS之間的網路連通性。
已添加HBase、Lindorm資料來源。如何添加,請參見添加HBase資料來源和添加Lindorm寬表資料來源。
建立任務
登入LTS。具體操作,請參見登入LTS。
在左側導覽列,選擇
。單擊建立任務。
在任務名(可不填)文字框中,填寫任務名稱。任務名只支援英文字元、數字。非必填項,未填寫情況下預設任務ID為任務名。
根據介面提示,設定源叢集和目的地組群。
勾選需要的操作。
表結構遷移:在目的地組群建立表(Schema、分區資訊一致),目的地組群表已存在會跳過。
即時資料複製:同步源叢集的即時增量資料。
歷史資料移轉:檔案層級的全量檔案物理遷移。
填寫同步/遷移的表和進階配置,進階配置為非必填項。
單擊建立。
查看任務及任務詳情
在左側導覽列中,選擇
查看任務。單擊需要查看的任務名,查看對應任務的執行情況。
切流
等待全量任務遷移完成,增量遷移的時延比較小(幾秒或者幾百毫秒)。
開啟LTS資料抽樣校正,對於大表的抽樣校正,抽樣比例不宜過大,避免對線上業務產生影響。
業務驗證。
業務切流。
常見問題
Q:什麼情境會導致“不消費資料”?
A:沒有終止任務的前提下直接釋放LTS叢集、同步任務暫停、任務異常阻塞。