记Pulsar集群数据迁移流程
背景
公司业务调整,需要将一批运行在云上的Pulsar集群迁移到自建机房中。于是折腾了Pulsar迁移的流程,这里记录下主要操作。
Pulsar集群迁移主要有两种方式:
1、基于geo-replication跨机房复制的方式迁移;
2、通过节点扩缩容的方式替换节点完成集群迁移。
基于geo-replication迁移
基于跨机房复制的方案,基本架构就是将pulsar内部维护一个消费者将数据发送到副本集群。通过开启复制订阅,将消费者消费信息同步到副本集群,实现跨机房消费无缝切换(默认复制间隔为1s,消费切换时可能存在1s的重复消费)
这种方式适用于,集群Topic较少,只迁移部分数据的迁移场景。
操作流程:
- 搭建新集群B
- 在新集群B上按需创建需要复制的tenant、namespace,以及partitioned-Topic。(普通Topic会自动创新,分区Topic需要手动创建并指定分区数,否则会以普通Topic的形式自动创建各个分区的Topic)
- 把新集群B添加到旧集群A中:
bin/pulsar-admin clusters create --broker-url pulsar://gz-idc-pulsar-metric-split.company.info:6650 --url http://gz-idc-pulsar-metric-split.company.info:8080 pulsar-gz-idc-metric-split-cluster