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