如果您想要將自建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的資料將不會被同步。
-
僅3.8.10及以上版本的LTS支援遷移表中的搜尋索引。
注意事項
-
遷移前請確認目的地組群的HDFS容量,防止遷移過程中出現容量寫滿的情況。
-
如果源叢集為自建HBase或阿里雲HBase叢集,增量同步處理提交前,建議將源叢集的日誌保留時間設定為12小時以上,為同步過程中可能出現的異常預留充足的處理恢復。修改方式:修改
hbase-site.xml檔案中hbase.master.logcleaner.ttl參數的值,並在修改後重啟HMaster。hbase.master.logcleaner.ttl參數的單位為毫秒(ms),設定時需注意單位轉化,例如,hbase.master.logcleaner.ttl=43200000表示設定日誌保留時間為12小時。說明如果源叢集為Lindorm叢集,無需修改日誌保留時間。
-
客戶無需在目的地組群建立表,LTS同步服務會自動建立和源叢集一樣的表,包括分區的資訊。客戶自建的目標表可能會和源表分區很不一致,這可能會導致遷移完成之後,目標表會進行頻繁的split、compaction,如果表的資料量十分龐大,可能會導致這個過程非常耗時。
-
如果源錶帶有coprocessor,在建立目標表的時候需要確保目的地組群包含coprocessor對應的JAR包。
-
開啟增量同步處理後,如果不消費資料,預設日誌會保留48小時,逾時後訂閱關係自動取消,保留的資料自動刪除。
前提條件
-
已檢查源叢集、目的地組群、LTS之間的網路連通性。
-
已添加HBase、Lindorm資料來源。如何添加,請參見添加HBase資料來源和添加Lindorm寬表資料來源。
-
Lindorm需在控制台開啟底層檔案訪問。
建立任務
-
在左側導覽列,選擇。
-
單擊創建任務。
-
在任務名(可不填)文字框中,填寫任務名稱。任務名只支援英文字元、數字。非必填項,未填寫情況下預設任務ID為任務名。
-
根據介面提示,設定源叢集和目标集群。
-
勾選需要的操作。
-
表結構遷移:在目的地組群建立表(Schema、分區資訊一致),目的地組群表已存在會跳過。
-
即時資料複製:同步源叢集的即時增量資料。
-
歷史資料移轉:檔案層級的全量檔案物理遷移。
-
-
在同步/遷移的表中,填寫需要遷移的主表。
-
選擇對索引表的操作。
-
(可選) 填寫高级配置。
-
單擊创建。
查看任務及任務詳情
-
在左側導覽列中,選擇查看任務。
-
單擊需要查看的任務名,查看對應任務的執行情況。
切流
-
等待全量任務遷移完成,增量遷移的時延比較小(幾秒或者幾百毫秒)。
-
開啟LTS資料抽樣校正,對於大表的抽樣校正,抽樣比例不宜過大,避免對線上業務產生影響。
-
業務驗證。
-
業務切流。
常見問題
什麼情境會導致“不消費資料”?
沒有終止任務的前提下直接釋放LTS叢集、同步任務暫停、任務異常阻塞。
遷移任務運行失敗應該如何處理?
導致遷移任務失敗的可能原因很多,例如網路不穩定、服務衝突等。LTS內建重試機制,在任務失敗後會自動重試。如果重試後依然失敗,請聯絡Lindorm支援人員(DingTalk號:s0s3eg3)。