0%

RocketMQ版本升级

RocketMQ几个具有里程杯意义的版本:

  • RocketMQ4.3.0正式引入了事务消息,如果大家希望使用事务消息,其版本最低建议为 4.6.1。
  • RocketMQ4.4.0引入了ACL、消息轨迹,如果需要使用这些功能,其版本最低建议为 4.7.0。
  • RocketMQ4.5.0引入了多副本(主从切换),其版本建议使用4.7.0。
  • RocketMQ4.6.0引入了请求-响应模型。
  • RocketMQ4.7.0同步复制更改为管道方式。
  • RocketMQ4.8.0提升了 DLedger 模式能力。
  • RocketMQ4.9.0优化生产消费性能处理。

实施方案

Broker升级

关闭一个Broker的写权限

关闭Broker写权限,让应用将流量平滑迁移到其他节点,这样可以有效避免在对该机器进行重启时对业务造成的影响。

1
sh ./mqadmin updateBrokerConfig -b 10.146.15.8:10911 -n 10.146.15.8:9876 -k brokerPermission -v 4

等Broker写入、消费tps接近0时,关闭broker

1
2
ps -ef | grep java
kill pid

使用新版本启动Broker

注意,此过程使用的配置文件为老版本的配置,故此时并没有开启写权限,启动并不会对客户端消息写入造成影响。

开启写权限

待新版本启动成功后,既可以开启写权限

1
sh ./mqadmin updateBrokerConfig -b 10.146.15.8:10911 -n 10.146.15.8:9876 -k brokerPermission -v 6

Nameserver升级

采用滚动升级,kill掉老版本的nameserver,在原机器上启动新版本的nameserver即可