使用docker-compose部署RocketMQ 5.1.0集群(双主双从)

0 下载量 73 浏览量 更新于2024-08-03 收藏 478KB PDF 举报
"该文主要介绍了如何使用docker-compose在本地搭建一个RocketMQ 5.1.0集群,采用双主双从模式,确保高可用性。集群中的组件包括NameServer、RocketMQ Dashboard以及两个主从节点(broker-a 和 broker-b)。整个集群分布在三台服务器上,其中NameServer和RocketMQ Dashboard部署在同一台服务器上,而主从节点交叉部署在另外两台服务器上。" 在搭建RocketMQ集群时,首先需要了解环境配置。这里提到的环境是一个由三个IP地址组成的网络:192.168.1.47、192.168.1.48和192.168.1.49。每个IP地址都有相应的服务和端口分配,如NameServer运行在192.168.1.47上,监听9876端口,而RocketMQ Dashboard也在同一台服务器上,监听8001端口。主从节点(broker-a 和 broker-b)则分别在192.168.1.48和192.168.1.49上交叉部署,拥有多个端口用于不同服务。 为了实现高可用,采用的是双主双从模式,即两个主节点(broker-a-m 和 broker-b-m)和两个从节点(broker-a-s 和 broker-b-s),这样即使一个主节点出现故障,从节点可以无缝接管,保证服务不中断。 在192.168.1.47这台服务器上,需要部署NameServer和RocketMQ Dashboard。部署过程涉及创建一个名为`mqnamesrv`的目录,其中包含`logs`子目录和`docker-compose.yml`配置文件。对`logs`目录进行权限设置,赋予777权限,以便容器能够正确写入日志。`docker-compose.yml`文件中定义了RocketMQ的配置,如映射端口、日志驱动等。 `docker-compose.yml`文件是Docker Compose的配置文件,版本号为3.8。配置中包含了日志管理的选项,限制单个日志文件的最大大小为100MB,并保留3个历史文件。`mqnamesrv`服务使用Apache官方的RocketMQ镜像(5.1.0版本),并设置了容器重启策略为始终重启,以保证服务的持久运行。同时,暴露了NameServer的9876端口供外部访问。 在192.168.1.48和192.168.1.49上,需要部署broker-a和broker-b的主从节点。配置文件会类似,但需要调整端口映射以适应不同的服务角色和端口需求。 通过这种方式,利用docker-compose,可以方便地自动化部署和管理RocketMQ集群,简化了传统的手动安装和配置过程,提高了部署效率,并且易于维护和扩展。在实际生产环境中,可以根据需要调整集群规模和配置,以满足不同业务场景的需求。