Kafka映象叢集
背景:
Kafka多機房(多AZ)部署可以保證資料容災和高穩定性。但是多機房部署如何解決資料一致性的問題?
目的:
Kafka叢集多機房(多AZ部署)解決資料一致性的問題。
部署方案概況:
Kafka 的 MirrorMaker工具解決資料一致性的問題。基本原理是使用Kafka的客戶端啟動消費者和生產者,從源叢集消費資料並將資料生產,寫入目標的Kafka叢集。
部署方案:
#1.新建映象目標叢集。 #2.新建配置檔案(模擬消費者)sourceClusterConsumer.config,最簡單的檔案內容包括了<bootstrap.servers>和<group.id> bootstrap.servers=10.160.100.2:9092,10.160.99.4:9092 group.id=MirrorGroupTest #3.新建配置檔案(模擬生產者)targetClusterProducer.config,最簡單的檔案內容包括了<bootstrap.servers> bootstrap.servers=10.237.59.114:9092,10.237.59.178:9092 #4.執行如下命令進行資料同步 ./kafka-run-class.sh kafka.tools.MirrorMaker --new.consumer --consumer.config sourceClusterConsumer.config --producer.config targetClusterProducer.config --whitelist="security_logstash" & ##引數介紹 ##kafka.tools.MirrorMaker主類 ##--new.consumer 代表啟動一個新的消費者 ##--consumer.config 消費者配置 ##--producer.config 生產者配置 ##--whitelist 要資料同步的topic列表,支援正則匹配
效果檢查:
目標叢集將不斷的從源叢集消費資料並寫入到映象叢集中。
問題總結:
1.當源叢集出現故障時(ZK掛了),如何保證資料一致性?
2.如何保證消費者可以兩個叢集消費的資料是不會重複的?
參考資料:
https://blog.csdn.net/zhanyuanlin/article/details/76695481