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