docker rocketmq部署步骤

前提

一.安装镜像

1.搜索镜像

2.获取rocketmq server镜像

docker pull docker.io/foxiswho/rocketmq:server-4.5.1

3.获取rocketmq broker镜像

docker pull docker.io/foxiswho/rocketmq:broker-4.5.1

 

4.启动NameServer:

docker run -d -p 9876:9876 --name rmqserver  foxiswho/rocketmq:server-4.5.1

5.启动broker

docker run -d -p 10911:10911 -p 10909:10909\
 --name rmqbroker --link rmqserver:namesrv\
 -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt"\
 -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m"\
 foxiswho/rocketmq:broker-4.5.1

 

 

### Docker安装 RocketMQ 并配置主从切换 #### 准备工作 为了确保顺利部署,需确认 DockerDocker Compose 的正确安装。对于 RocketMQ 版本的选择,建议使用稳定版本 4.9.3 或更新版本。 #### 创建必要的目录结构 创建用于存储配置文件和日志的空间非常重要。可以按照如下方式设置: ```bash mkdir -p /opt/rocketmq/{namesrv,master,slave} ``` 这一步骤有助于分离不同组件的数据,便于管理和维护[^1]。 #### 编写 `docker-compose.yml` 文件 编写一个完整的 `docker-compose.yml` 来定义服务间的依赖关系和服务本身的具体参数。下面是一个适用于主从模式的例子: ```yaml version: '3' services: namesrv: image: apacherocketmq/rocketmq:4.9.3 container_name: rmq-namesrv environment: - MAX_HEAP_SIZE=512m - HEAP_NEWSIZE=256m volumes: - ./data/namesrv/logs:/home/rocketmq/logs - ./data/namesrv/store:/home/rocketmq/store command: "sh mqnamesrv" master: image: apacherocketmq/rocketmq:4.9.3 container_name: rmq- namesrv ports: - "10911:10911" - "10909:10909" environment: - MAX_HEAP_SIZE=512m - HEAP_NEWSIZE=256m - NAMESRV_ADDR=rmq-namesrv:9876 volumes: - ./data/master/logs:/home/rocketmq/logs - ./data/master/store:/home/rocketmq/store command: "sh mqbroker -n rmq-namesrv:9876 autoCreateTopicEnable=true brokerRole=ASYNC_MASTER" slave: image: apacherocketmq/rocketmq:4.9.3 container_name: rmq-slave depends_on: - MAX_HEAP_SIZE=512m - HEAP_NEWSIZE=256m - NAMESRV_ADDR=rmq-namesrv:9876 volumes: - ./data/slave/logs:/home/rocketmq/logs - ./data/slave/store:/home/rocketmq/store command: "sh mqbroker -n rmq-namesrv:9876 autoCreateTopicEnable=true brokerRole=SLAVE fileReservedTime=100" ``` 上述 YAML 文件描述了一个简单的主从架构实例,其中包含了 Name Server、Master Broker 及 Slave Broker 的启动命令及其对应的持久化路径设定。 #### 启动容器 完成以上步骤后,可以通过执行以下指令来启动整个集群: ```bash cd path_to_your_docker_compose_file_directory docker-compose up -d ``` 该操作将会异步运行所有的服务,并使它们相互连接形成一个可用的消息队列系统。 #### 测试消息发送接收功能 一旦集群正常运作,就可以通过官方提供的工具测试消息传递的功能了。例如,利用 `tools.sh org.apache.rocketmq.example.quickstart.Producer` 发送一条测试信息给主题 TopicTest;同样地,也可以尝试消费这条消息以验证一切是否按预期工作[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值