本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
假設你有一個名為 CLUSTER_ONPREM
的 Apache Kafka 叢集。該叢集會填入主題和資料。如果您想要將該叢集遷移到新建立且名為 CLUSTER_AWSMSK
的 Amazon MSK 叢集,此程序會提供您必須遵循之步驟的高階檢視。
將現有的 Apache Kafka 叢集遷移到 Amazon MSK
-
在中
CLUSTER_AWSMSK
,建立您要遷移的所有主題。您無法使用 MirrorMaker 執行此步驟,因為它不會自動為您重新建立並正確的遷移複寫層級的主題。您可以在 Amazon MSK 中建立相同的主題,並具有與
CLUSTER_ONPREM
中相同的複寫係數和分區數量。您也可以建立具有不同複寫因素和分割區數目的主題。 -
從具有讀取
CLUSTER_ONPREM
權限和寫入CLUSTER_AWSMSK
權限的執行個體啟動 MirrorMaker。 -
執行下列命令以鏡像所有主題:
<path-to-your-kafka-installation>
/bin/kafka-mirror-maker.sh --consumer.config config/mirrormaker-consumer.properties --producer.config config/mirrormaker-producer.properties --whitelist '.*'在此命令中,
config/mirrormaker-consumer.properties
指定CLUSTER_ONPREM
中的引導代理程式;例如,bootstrap.servers=localhost:9092
。而config/mirrormaker-producer.properties
指定 CLUSTER_AWSMSK 中的引導代理程式;例如bootstrap.servers=10.0.0.237:9092,10.0.2.196:9092,10.0.1.233:9092
。 -
保持 MirrorMaker 在背景執行,並繼續使用
CLUSTER_ONPREM
。MirrorMaker 會鏡像所有新資料。 -
檢查每個主題的最後一個偏移量與 MirrorMaker 目前正在使用偏移量之間的延遲,以檢查鏡像的進度。
請記住,MirrorMaker 只是使用取用者和生產者。所以,你可以使用
kafka-consumer-groups.sh
工具來檢查延遲。若要尋找取用者群組名稱,請在mirrormaker-consumer.properties
檔案內尋找group.id
,然後使用該值。如果檔案中沒有這樣的金鑰,則你可以建立。例如,設定group.id=mirrormaker-consumer-group
。 -
在 MirrorMaker 完成鏡像所有主題之後,請停止所有生產者和取用者,然後停止 MirrorMaker。然後通過變更生產者和取用者引導代理程式的值,重定導向到
CLUSTER_AWSMSK
叢集。重新啟動CLUSTER_AWSMSK
上的所有生產者和取用者。