上云无忧 > 文档中心 > 腾讯云消息队列 CKafka 使用教程 - 迁移上云 | 步骤2:迁移 Topic 上云
消息队列 CKafka
腾讯云消息队列 CKafka 使用教程 - 迁移上云 | 步骤2:迁移 Topic 上云

文档简介:
操作场景: 本文档为您介绍如何利用 CKafka 提供的迁移工具将自建 Kafka 集群的 Topic 迁移到 CKafka 的实例中。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

操作场景

本文档为您介绍如何利用 CKafka 提供的迁移工具将自建 Kafka 集群的 Topic 迁移到 CKafka 的实例中。

前提条件

购买云上实例
下载 Python2

操作步骤

1. 下载 迁移工具 并解压到可以连通自建实例的 broker 和 zk 的机器上。
2. 在 ckafka-migrate.py 文件中填写配置参数。
说明
请保证后面迁移操作所在的机器和 CKafka 以及自建 Kafka 集群的网络互通。
云API 的密钥对应的用户需要拥有 CKafka 的写权限,建议使用主账号的密钥对。

		
		
# your local broker ip:port list
# 自建实例的broker列表 ["broker1:port1","ip2:port2"]
bootstrapServers = ["$ip:$port"]
# your local zk ip:port list
# 自建实例的zk列表 ["zk1:port1","zk2:port2"],非必设配置,未设置则用bootstrapServers方式获取源集群信息
sourceZk = ["$ip:$port"]
# 如果zk有auth鉴权,需要设置该参数,格式为 [("digest", "$user:$password")]
zkAuthData = []
# 如果zk路径有前缀,需要设置该参数,例如 "/cluster1"
zkPathPrefix = ""
# your cloud instanceId
# 云上实例id "ckafka-xxx"
instanceId = "$yourinstanceId"
# topic regex,just migrate match topics
# topic名称正则表达式,非空则只迁移匹配到的topic
topicRegex = ""
# your secretId and secretKey
# 账号的密钥对
secretId = "$yoursecretId"
secretKey = "$yoursecretKey"
# your cloud instance region
# 云上实例的地域 ckafka已开区地域码:
# 广州 ap-guangzhou;上海 ap-shanghai;南京 ap-nanjing;北京 ap-beijing; 成都 ap-chengdu;重庆 ap-chongqing;
# 香港 ap-hongkong;新加坡 ap-singapore;印度孟买 ap-mumbai;日本东京 ap-tokyo;美西硅谷 na-siliconvalley;
# 美东弗吉尼 na-ashburn;北美多伦多 na-toronto;中国台北 ap-taipei;天津 ap-tianjin;上海金融 ap-shanghai-fsi;
# 深圳金融 ap-shenzhen-fsi;深圳 ap-shenzhen;德国法兰克 eu-frankfur;首尔 ap-seoul;清远 ap-qingyuan;
# 北京金融 ap-beijing-fsi;曼谷 ap-bangkok;长沙 ap-changsha-ec;雅加达 ap-jakarta
# 杭州ec ap-hangzhou-ec;圣保罗 sa-saopaulo;上海自动驾驶 ap-shanghai-adc;武汉ec ap-wuhan-ec;西安ec ap-xian-ec;
region = "ap-tokyo"
# if you make sure the migrate topic List,please modify checkFlag = 1
# 检查标记,设0只显示将要迁移的topic列表不做真正迁移,请先以0运行检查将要迁移的topic列表,确认无误后修改为1开始迁移
# 0:列出迁移topic列表后脚本终止
# 1:列出迁移topic列表并开始迁移
checkFlag = 0
# force transfer your cloud-topic config to migrate
# 如果为0转换本地topic到云上topic时,属性不一致不会迁移上云。如果为1,会强制转换topic属性和云上最近的值

# 例如云上topic的副本只支持1,2,3副本,如果本地的某topic副本数为5,则不会迁移上云。

如果force设置为1,则会取和5最接近的3副本,在云上创建3副本topic。

# 0:本地和云上topic副本数或topic属性不兼容时,跳过不兼容的topic或者topic属性

# 1:本地和云上topic副本数或topic属性不兼容时,强制迁移至云上,云上topic的属性将根据自建

topic的属性做出最接近的修正 (不会修改本地自建源kafka的任何数据)

force = 0

参数
说明
bootstrapServers
自建实例的broker列表,["ip1:port1","ip2:port2"]。
sourceZk
自建实例的zookeeper列表, ["zk1:port1","zk2:port2"],非必设配置,未设置则用bootstrapServers方式获取源集群信息
zkAuthData
如果zk有auth鉴权,需要设置该参数,格式为 [("digest", "$user:$password")]。
zkPathPrefix
如果zk路径有前缀,需要设置该参数,例如 "/cluster1"。
instanceId
您在 购买云上实例 中购买的 CKafka 实例的 ID,在控制台的实例列表页面复制。
secretId
账号的密钥对-ID。
secretKey
账号的密钥对-密码。
region
您在 购买云上实例 中选择的部署地域,脚本内注释附带各地域码。
checkFlag
检查标记,设置为0时只显示将要迁移的 Topic 列表并不开始迁移,设置为非0时开始迁移 Topic。
topicRegex
Topic 名称正则表达式,设置为空时迁移所有的 Topic,非空时则只迁移匹配到的 Topic。
force
是否强制迁移,如果为0转换本地 Topic 到云上 Topic 时,属性不一致不会迁移上云。如果为1,会强制转换 Topic 属性和云上规定最接近的值。
3. 将 ckafka-migrate.py 的 checkFlag 参数设为0,运行脚本 python ckafka-migrate.py,根据输出结果检查需要迁移的Topic列表。
说明
如果缺少部分自建的 Topic,可能是自建Topic命名不符合规则或者Topic副本数、Topic属性数值与云上数值范围无法兼容。

4. 把 ckafka-migrate.py 的 checkFlag 参数设为1,运行脚本 python ckafka-migrate.py,开始迁移 Topic。

5. 登录 CKafka 控制台,在迁移上云页面查看任务列表,等待 Topic 迁移完毕。 任务列表如下:



迁移成功界面如下:



相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部