搭建时间为2023-11-22

环境:CentOS7、Docker24.0.6、Docker-Compose2.23.0、RocketMQ镜像为apache/rocketmq:5.1.2

部署说明:两台Linux服务器,先是尝试了传统2主2从,没有实现主备自动切换,一步一步部署下来没有特别大的问题。然后尝试增加主备自动切换,当前官网给的方案是Controller,可以和NameServer一起组合部署,也可以单独部署,暂时使用了组合部署,NameServer和Controller组合部署也没啥问题,但是重点来了,Broker加上Controler的启动配置后,死活启动不起来,看了日志提示Broker初始化失败+空指针异常,百度之后也没有找到解决方案,日志中有错误行数,没办法只能去github上看源码了,发现确实有点问题,有一个Manager没有初始化就开始使用了。至此感觉是找到了问题,所有就升级了版本到5.1.4,然后尝试部署Broker,真的成功了,卡了两天的东西终于搞定了,真是印证了一句话:方向大于努力。

所以综上所述建议不要使用apache/rocketmq:5.1.2,目前apache/rocketmq:5.1.4亲测没问题。