. 挂在目录
在本地创建 logs 和 store 目录启动 nameserver 服务
docker run -d --restart=always --name=rmqnamesrv -p 9876:9876 -v D:\xiaoc\rocketmq\data\namesrv\logs:/root/logs -v D:\xiaoc\rocketmq\data\namesrv\store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv 指令参数说明-d后台运行–restart=alwaysdocker重启运行–name=rmqnamesrv服务命名为 rmqnamesrv-p 9876:9876把容器内端口9876 挂载到宿主机的9876 端口-v D:\xiaoc\rocketmq\data\namesrv\logs:/root/logs把容器 /root/logs 目录挂载到宿主机目录-v D:\xiaoc\rocketmq\data\namesrv\store:/root/store把容器 /root/store 目录挂载到宿主机目录-e “MAX_POSSIBLE_HEAP=100000000”设置容器的最大堆内存为100000000rocketmqinc/rocketmq镜像sh mqnamesrv启动namesrv服务挂载目录, 存储broker 数据与日志
创建 broker.conf 配置文件
# 所属集群名称,如果节点较多可以配置多个 brokerClusterName = DefaultCluster #broker名称,master和slave使用相同的名称,表明他们的主从关系 brokerName = broker-a #0表示Master,大于0表示不同的slave brokerId = 0 #表示几点做消息删除动作,默认是凌晨4点 deleteWhen = 04 #在磁盘上保留消息的时长,单位是小时 fileReservedTime = 48 #有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制; brokerRole = ASYNC_MASTER #刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要; flushDiskType = ASYNC_FLUSH # 设置broker节点所在服务器的ip地址 brokerIP1 = 172.16.8.9 启动 broker 节点 docker run -d --restart=always --name rmqbroker --link rmqnamesrv:namesrv -p 10911:10911 -p 10909:10909 -v D:\xiaoc\rocketmq\data\broker\logs:/root/logs -v D:\xiaoc\rocketmq\data\broker\store:/root/store -v D:\xiaoc\rocketmq\conf\broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf 指令参数说明-d后台运行–restart=alwaysdocker重启运行–name rmqbroker服务命名为 rmqbroker–link rmqnamesrv:namesrv和rmqnamesrv容器连接通信-p 10911:10911 -p 10909:10909把容器内端口10911, 10909 挂载到宿主机的10911, 10909端口-v D:\xiaoc\rocketmq\data\broker\logs:/root/logs把容器 /root/logs 目录挂载到宿主机目录-v D:\xiaoc\rocketmq\data\broker\store:/root/store把容器 /root/store 目录挂载到宿主机目录-v D:\xiaoc\rocketmq\conf\broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf挂载broker 配置文件-e “NAMESRV_ADDR=namesrv:9876” -e “MAX_POSSIBLE_HEAP=200000000”指定 namesrv 地址与broker服务的最大堆内存rocketmqinc/rocketmq镜像sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf指定配置文件启动broker节点