W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
HBase中的當前的異步復制。因此,如果主集群崩潰,則從屬集群可能沒有最新數(shù)據(jù)。如果用戶想要強一致性,那么他們就無法切換到從屬集群。
請參閱HBASE-19064上的設計文檔
在源集群和對等集群中添加同步對等體。
對于源集群:
hbase> add_peer '1', CLUSTER_KEY => 'lg-hadoop-tst-st01.bj:10010,lg-hadoop-tst-st02.bj:10010,lg-hadoop-tst-st03.bj:10010:/hbase/test-hbase-slave', REMOTE_WAL_DIR=>'hdfs://lg-hadoop-tst-st01.bj:20100/hbase/test-hbase-slave/remoteWALs', TABLE_CFS => {"ycsb-test"=>[]}
對于對等集群:
hbase> add_peer '1', CLUSTER_KEY => 'lg-hadoop-tst-st01.bj:10010,lg-hadoop-tst-st02.bj:10010,lg-hadoop-tst-st03.bj:10010:/hbase/test-hbase', REMOTE_WAL_DIR=>'hdfs://lg-hadoop-tst-st01.bj:20100/hbase/test-hbase/remoteWALs', TABLE_CFS => {"ycsb-test"=>[]}
對于同步復制,當前實現(xiàn)要求源和對等集群具有相同的對等ID。另一件需要注意的事情是:對等體不支持集群級,命名空間級或cf級復制,現(xiàn)在只支持表級復制。
hbase> transit_peer_sync_replication_state '1', 'STANDBY'
hbase> transit_peer_sync_replication_state '1', 'ACTIVE'
現(xiàn)在,已成功設置同步復制。HBase客戶端只能請求源集群,如果請求到對等集群,則現(xiàn)在處于STANDBY狀態(tài)的對等集群將拒絕讀/寫請求。
如果備用群集已崩潰,則無法為活動群集寫入遠程WAL。所以我們需要將源集群轉移到DOWNGRANDE_ACTIVE狀態(tài),這意味著源集群將不再寫任何遠程WAL,但正常復制(異步復制)仍然可以正常工作,它會對新寫入的WAL進行排隊,但是復制塊直到對等集群返回。
hbase> transit_peer_sync_replication_state '1', 'DOWNGRADE_ACTIVE'
一旦對等集群返回,我們就可以將源集群轉移到ACTIVE,以確保復制是同步的。
hbase> transit_peer_sync_replication_state '1', 'ACTIVE'
如果活動集群已崩潰(現(xiàn)在可能無法訪問),那么讓我們將備用集群轉移到DOWNGRANDE_ACTIVE狀態(tài),之后,我們應該將所有請求從客戶端重定向到DOWNGRADE_ACTIVE集群。
hbase> transit_peer_sync_replication_state '1', 'DOWNGRADE_ACTIVE'
如果崩潰的集群再次返回,我們只需要將其直接轉移到STANDBY。否則,如果將集群傳輸?shù)紻OWNGRADE_ACTIVE,則原始ACTIVE群集可能具有與當前ACTIVE集群相比的冗余數(shù)據(jù)。因為我們設計的是同時編寫源集群WAL和遠程集群WAL,所以源集群WALs可能比遠程集群具有更多數(shù)據(jù),這導致數(shù)據(jù)不一致。將ACTIVE轉換為STANDBY的過程沒有問題,因為我們將跳過重放原始的WAL。
hbase> transit_peer_sync_replication_state '1', 'STANDBY'
然后,我們現(xiàn)在可以將DOWNGRADE_ACTIVE集群提升為ACTIVE,以確保復制是同步的。
hbase> transit_peer_sync_replication_state '1', 'ACTIVE'
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: