全部產品
Search
文件中心

Lindorm:HBase資料同步與遷移

更新時間:Jul 06, 2024

如果您想要將自建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小時,逾時後訂閱關係自動取消,保留的資料自動刪除。

前提條件

建立任務

  1. 登入LTS。具體操作,請參見登入LTS

  2. 在左側導覽列,選擇Lindorm/HBase遷移 > 一鍵遷移

  3. 單擊建立任務

  4. 任務名(可不填)文字框中,填寫任務名稱。任務名只支援英文字元、數字。非必填項,未填寫情況下預設任務ID為任務名。

  5. 根據介面提示,設定源叢集目的地組群

  6. 勾選需要的操作

    • 表結構遷移:在目的地組群建立表(Schema、分區資訊一致),目的地組群表已存在會跳過。

    • 即時資料複製:同步源叢集的即時增量資料。

    • 歷史資料移轉:檔案層級的全量檔案物理遷移。

  7. 填寫同步/遷移的表進階配置,進階配置為非必填項。

  8. 單擊建立

查看任務及任務詳情

  1. 在左側導覽列中,選擇Lindorm/HBase遷移 > 一鍵遷移查看任務

  2. 單擊需要查看的任務名,查看對應任務的執行情況。

切流

  1. 等待全量任務遷移完成,增量遷移的時延比較小(幾秒或者幾百毫秒)。

  2. 開啟LTS資料抽樣校正,對於大表的抽樣校正,抽樣比例不宜過大,避免對線上業務產生影響。

  3. 業務驗證。

  4. 業務切流。

常見問題

Q:什麼情境會導致“不消費資料”?

A:沒有終止任務的前提下直接釋放LTS叢集、同步任務暫停、任務異常阻塞。