
364
|
第八章
複製
HBase 複製是在 HBase 部署環境間,複製資料的一種方式。它可以作為一種災難復原的
解決方案,也在 HBase 上,對於提供高可用性有所貢獻。它還提供更多實務的目的:例
如:可以作為從網站導向的叢集中,拷貝最新的異動內容到 MapReduce 叢集的一種簡
單方式,然後利用 MapReduce 叢集對舊及新的資料進行處理,再自動地送回結果。
HBase 複製採用的基本架構模式是:“(HBase 叢集)master 推送”;因為每個 region 伺
服器都有自己的預先寫入日誌(即 WAL 或
HLog)
,這樣就很容易記錄現在正在複製什
麼,非常類似於其他一些著名的解決方案,就像 MySQL 的主從複製,就只記錄了一個
二進位日誌(binary log)。一個 master 叢集可以複製到任意數量的 slave 叢集,同時每
個 region 伺服器會參與它本身所對應的一系列修改的複製。
複製是採非同步來進行的,這意味著參與的叢集可能在地理位置上是相隔甚遠,它們之
間的連接在某段時間內可能是離線的,插入到 master 叢集中的那些列,在同一時間在
slave 叢集上不一定是可用的(最終會具有一致性)。
圖 8-12 說明複製運作的全貌。
圖 8-12 複製架構的全貌
351