[英]How to migrate Kafka topic used in a singe Kafka server to Kafka cluster with replication-factor 2?
[英]Migrate Kafka Topic to new Cluster (and impact on Druid)
我正在從 Kafka 的主題中將數據提取到 Druid 中。 現在我想將我的 Kafka Topic 遷移到新的 Kafka 集群。 在不重復數據和不停機的情況下,有哪些可能的方法可以做到這一點?
我考慮了以下將主題遷移到新的 Kafka 集群的可能方法。
注意:Druid 在其元數據中管理 Kafka 主題偏移量。
德魯伊版本:0.22.1
舊 Kafka 集群版本:2.0
也許對您的數字 1 稍作修改:
delete from druid_dataSource where datasource={name}
終止當前主管。
提交帶有新主題和新服務器信息的新規范。
您可以按照以下步驟操作:
1- 在您的新集群上,創建您的新主題(相同名稱或新名稱,無所謂)
2-更改您的應用程序配置以將消息發送到新的kafka集群
3-等到德魯伊消耗掉舊卡夫卡的所有消息,您可以通過檢查主管的滯后和偏移信息來確保數據何時被消耗
4- 暫停任務,等待任務發布他們的段並成功退出
5- 編輯德魯伊的數據源,確保 useEarliestOffset 設置為 true,更改信息以從新的 kafka 集群中使用(如果不相同,則更改新的主題名稱)
6- 保存模式並恢復任務。 Druid 在檢查偏移量時會撞牆,因為它在新的 kafka 中找不到它們,然后從頭開始
選項 1 和 2 將有停機時間,您將丟失現有主題中的所有數據。
選項 2 不能保證您在嘗試將消息一起發送到多個集群時不會丟失數據或生成重復數據。
如果不至少嘗試 MM2,將無法將 Druid/Kafka 偏移數據遷移到新集群。 你說你可以在選項 2 中重置偏移量,那么為什么不對選項 3 做同樣的事情呢? 我沒有使用過 Druid,但它應該能夠支持從多個主題消費,無論是否有模式。 使用選項 3,您無需修改任何生產者代碼,直到您對遷移過程感到滿意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.