Loading... # Docker部署RocketMQ 5.2.0集群 Apache RocketMQ 是一款分布式消息中间件,广泛应用于高并发和高可靠性场景中。本文将详细介绍如何使用Docker部署RocketMQ 5.2.0集群。 ## 一、环境准备 在开始之前,确保已在系统中安装了Docker和Docker Compose。 1. 安装Docker: - 参考[官方文档](https://docs.docker.com/get-docker/)进行安装。 2. 安装Docker Compose: - 参考[官方文档](https://docs.docker.com/compose/install/)进行安装。 ## 二、Docker部署RocketMQ ### 2.1 创建Docker Compose配置文件 在工作目录下创建 `docker-compose.yml`文件,并添加以下内容: ```yaml version: '3.8' services: namesrv: image: apache/rocketmq:5.2.0 container_name: rmqnamesrv ports: - "9876:9876" volumes: - ./data/logs:/home/rocketmq/logs - ./data/store:/home/rocketmq/store command: sh mqnamesrv healthcheck: test: ["CMD", "nc", "-z", "localhost", "9876"] interval: 30s timeout: 10s retries: 3 broker: image: apache/rocketmq:5.2.0 container_name: rmqbroker ports: - "10911:10911" - "10909:10909" volumes: - ./data/logs:/home/rocketmq/logs - ./data/store:/home/rocketmq/store - ./conf/broker.conf:/home/rocketmq/rocketmq-5.2.0/conf/broker.conf environment: - "JAVA_OPT_EXT=-server -Xms512m -Xmx512m -Xmn128m" - "JAVA_OPT=-Duser.home=/home/rocketmq" depends_on: - namesrv command: sh mqbroker -c /home/rocketmq/rocketmq-5.2.0/conf/broker.conf healthcheck: test: ["CMD", "nc", "-z", "localhost", "10911"] interval: 30s timeout: 10s retries: 3 ``` ### 2.2 创建Broker配置文件 在工作目录下创建 `conf`目录,并在其中创建 `broker.conf`文件,添加以下内容: ```properties brokerClusterName=DefaultCluster brokerName=broker-a brokerId=0 namesrvAddr=rmqnamesrv:9876 deleteWhen=04 fileReservedTime=48 brokerRole=ASYNC_MASTER flushDiskType=ASYNC_FLUSH ``` ### 2.3 启动RocketMQ集群 在工作目录下执行以下命令,启动RocketMQ集群: ```bash docker-compose up -d ``` ### 2.4 验证RocketMQ集群 使用以下命令查看容器状态,确保所有容器都正常启动: ```bash docker-compose ps ``` 输出示例: ```plaintext Name Command State Ports ------------------------------------------------------------------------------------------------------- rmqbroker sh mqbroker -c /home/rocketm ... Up 10909/tcp, 0.0.0.0:10911->10911/tcp rmqnamesrv sh mqnamesrv Up 0.0.0.0:9876->9876/tcp ``` ### 2.5 访问RocketMQ控制台(可选) 为了方便管理和监控RocketMQ集群,可以部署RocketMQ控制台。创建一个新的 `docker-compose`服务: ```yaml services: mqadmin: image: pangliang/rocketmq-console-ng container_name: mqadmin ports: - "8080:8080" environment: JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" depends_on: - namesrv - broker ``` 在 `docker-compose.yml`文件中添加上述配置并执行: ```bash docker-compose up -d mqadmin ``` 然后可以通过浏览器访问 `http://localhost:8080`来访问RocketMQ控制台。 ## 三、总结 本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。 最后修改:2024 年 08 月 01 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏