使用docker-compose部署RocketMQ 5.1.0集群(双主双从)
198 浏览量
更新于2024-08-03
1
收藏 478KB PDF 举报
本资源是关于使用docker-compose搭建Apache RocketMQ 5.1.0集群的教程,集群采用双主双从模式,确保高可用性。集群中的组件包括NameServer、rocketmq-dashboard以及两个主从对的Broker节点,分别命名为broker-a和broker-b。各服务的IP地址和端口配置已在环境中说明,且Master和Slave节点交叉部署在两台不同的服务器上,以实现更好的容灾和负载均衡。
在具体部署过程中,首先在192.168.1.47服务器上部署NameServer和rocketmq-dashboard。该服务器上的目录结构包括一个名为`mqnamesrv`的目录,其中含有`logs`子目录和`docker-compose.yml`配置文件。为了允许Docker容器能够正确写入日志,需要对`/opt/apps/mqnamesrv/logs`目录赋予777权限。`docker-compose.yml`文件用于定义服务的启动参数,包括暴露的端口、镜像版本以及其他配置。
接下来,我们将关注`docker-compose.yml`文件的内容。文件中使用了版本"3.8"的docker-compose规范,并定义了一个通用的日志配置,限制了单个日志文件的最大大小为100MB,并保留3个历史文件。在服务部分,指定了`mqnamesrv`服务,使用了Apache RocketMQ 5.1.0镜像,设置容器名为`mqnamesrv`,并设置为始终重启策略。此外,将NameServer的9876端口映射到主机的相同端口,以便外部访问。
192.168.1.48服务器上部署了broker-a-m(主)和broker-b-s(从),192.168.1.49服务器上则部署了broker-b-m(主)和broker-a-s(从)。每个Broker节点都有多个端口对外开放,分别用于不同的服务,例如默认的TCP端口、JMX管理端口等。
通过这样的部署方式,可以确保在一台服务器出现故障时,另一台服务器上的主节点仍然能够提供服务,从而维持RocketMQ集群的正常运行。同时,rocketmq-dashboard提供了一个图形化的监控界面,便于观察和管理RocketMQ集群的状态。
在实际应用中,用户可以根据自身需求调整docker-compose配置,例如添加更多的Broker节点,或者修改日志文件的保存策略。此外,还需要确保网络通信的畅通,以及正确配置RocketMQ的相关参数,如集群间的通信地址、NameServer列表等,以保证整个集群的稳定运行。
2023-12-19 上传
2022-09-21 上传
2020-06-12 上传
2024-11-07 上传
2024-11-07 上传
2024-11-08 上传
2023-09-19 上传
2023-05-13 上传
2023-11-08 上传