更新时间:2024-09-25 18:26:36

适用场景描述

支持将内置 NSQ,切换为内置 Kafka,以提升系统可用性。

检查环境信息

  1. 获取环境配置

在任意一master节点上,执行命令,获取配置文件:proton-cli get conf > upgrade_conf.yaml

获取配置文件 示例.png

  1. 检查当前集群是否安装 Kafka 和 Zookeeper。

如果没有,则需要编辑upgrade_conf.yaml,添加 Kafka 和 Zookeeper 相关配置,具体配置如下截图:

kafka配置 示例.png

zookeeper配置 示例.png

其中 Kafka 和 Zookeeper 的 hosts 参数根据需要填写一个或者多个 node。

将 NSQ 切换为 Kafka

编辑 upgrade_conf.yaml 配置文件,将 mq_type 的值设置为 kafka。

如下所示,其余配置不变(若使用外置消息队列暂不支持切换):

mq:
  mq_hosts: proton-mq-nsq-nsqd.resource
  mq_lookupd_hosts: proton-mq-nsq-nsqlookupd.resource
  mq_lookupd_port: 4161
  mq_port: 4151
  mq_type: kafka
  source_type: internal

修改完成后,保存退出

执行命令,进行配置更新(注意:需要在新版本依赖包的解压目录下执行):proton-cli apply -f upgrade_conf.yaml

更新配置 示例.png

预期结果实例

更新配置成功 示例.png

更新完成之后需要再次更新 DeploymentStudio 和 IdentifyAndAuthentication

消息迁移

以上步骤完成后,如果需要从 NSQ 到 Kafka 消息迁移,需要使用迁移工具实现。

迁移工具需要在发布目录下获取,工具名称:迁移工具及验证手段.tar.zip。

具体使用方法解压工具查看。