一、迁移场景
目标:CKafka 数据写入 CLS。
存量迁移方案:使用 CLS 提供的 Kafka 订阅功能。
新增的同步链路请直接参考本文档第四部分。
二、迁移步骤
简述:先双写后单写,完成平滑迁移。具体迁移步骤如下:
1. 双写:在 CKafka 控制台查询 topic 信息。然后在 CLS 平台里,日志主题里配置好 Kafka 订阅,从最新的日志开始拉取数据。
2. 双写后,连接器和 CLS 的 Kafka 订阅同时往 CLS 日志主题生产数据。
3. 单写:确认 CLS 的 Kafka 数据订阅任务正常运行后,停止 CKafka 的连接器任务,实现单写。
4. 单写后,CLS 日志不再重复。



风险:日志数据会有少量重复。
建议:低峰期操作,减少影响。
三、方案
3.1. 方案对比
方案 | 方案1:主动迁移,提前规避风险。 | 方案2:被动迁移,防止二次故障。 |
思路 | 低峰期启动 CLS Kafka 订阅数据同步,下线cKafka连接器 | 提前配置好 CLS Kafka 订阅服务,在连接器故障后,启动 CLS 数据同步任务 把 CLS Kafka 订阅服务任务提前建立好,让其处于暂停状态; 连接器故障或者异常后,在 CKafka 平台重置 CLS Kafka 订阅的消费 offset 到最新或者到故障时刻; 启动 CLS Kafka 订阅服务。 |
优点 | 低峰期操作,风险可控 | 现有任务暂时不动,业务短期不受影响 |
缺点 | 导入 CLS 的数据会有少量重复 | 故障后的止损预案,时效性低,故障影响面不可控; CLS 可能存在少量数据缺少或重复。 |
回滚方案 | - | 双写阶段:如果遇到不符合预期,可以直接在CLS平台暂停或者删除任务; 单写阶段:如果发现不符合预期,可以把连接器再次启动,同时暂停CLS 采集Kafka的订阅任务。 |
兜底预案 | - | CLS 采集Kafka的订阅任务暂停或者删除; CKafka连接器任务重启。 |
3.2. 注意事项
需要注意的是 CLS Kafka 订阅任务一建立,就会默认启动,在 CKafka 创建订阅并生成消费进度,可能会造成数据采集重复。
四、POC 验证
1. 在日志主题中,选择某一个主题,单击采集配置。

2. 在 Kafka数据订阅配置中,单击新增,并按提示配置。

3. 配置集群及配置订阅规则,包括消费组,其中起始位置需选择最早。
注意:
消费组不能填写和连接器一样的名称,否则数据会有丢失或者重复(原理是 CLS 配置 Kafka 订阅会选择从最新或者最老的位置消费)。




4. 订阅任务创建成功,状态会变成进行中。

5. CLS Kafka 订阅任务正常采集数据后,在消息队列 CKafka 控制台中单击更多 > 暂停任务来停止连接器任务。
