- 上传软件包
- 利用docker导入镜像
- 检查镜像
- 创建目录
- 添加配置文件
#所属集群名字
brokerClusterName=rocketmq-data100
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
brokerIP1=192.168.100.100
#nameServer地址,分号分割
namesrvAddr=192.168.100.100:9876;192.168.100.100:9877
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/data/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/data/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/data/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/data/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/data/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/data/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
#所属集群名字
brokerClusterName=rocketmq-data100
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
brokerIP1=192.168.100.101
#nameServer地址,分号分割
namesrvAddr=192.168.100.100:9876;192.168.100.100:9877
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=11011
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/data/rocketmq/s_store
#commitLog 存储路径
storePathCommitLog=/data/rocketmq/s_store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/data/rocketmq/s_store/consumequeue
#消息索引存储路径
storePathIndex=/data/rocketmq/s_store/index
#checkpoint 文件存储路径
storeCheckpoint=/data/rocketmq/s_store/checkpoint
#abort 文件存储路径
abortFile=/data/rocketmq/s_store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
#所属集群名字
brokerClusterName=rocketmq-data100
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
brokerIP1=192.168.100.102
#nameServer地址,分号分割
namesrvAddr=192.168.100.100:9876;192.168.100.100:9877
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/data/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/data/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/data/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/data/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/data/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/data/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
#所属集群名字
brokerClusterName=rocketmq-data100
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
brokerIP1=192.168.100.103
#nameServer地址,分号分割
namesrvAddr=192.168.100.100:9876;192.168.100.100:9876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=11011
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/data/rocketmq/s_store
#commitLog 存储路径
storePathCommitLog=/data/rocketmq/s_store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/data/rocketmq/s_store/consumequeue
#消息索引存储路径
storePathIndex=/data/rocketmq/s_store/index
#checkpoint 文件存储路径
storeCheckpoint=/data/rocketmq/s_store/checkpoint
#abort 文件存储路径
abortFile=/data/rocketmq/s_store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
- 启动namesrv
docker run -d -p 9876:9876 -v /home/docker/rocketmq/namesrv-a/logs/:/root/logs -v /home/docker/rocketmq/namesrv-a/store/:/root/store --name namesrv-a -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv
docker run -d -p 9877:9876 -v /home/docker/rocketmq/namesrv-b/logs/:/root/logs -v /home/docker/rocketmq/namesrv-b/store/:/root/store --name namesrv-b -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv
- 检查namesrv
- docker启动broker主
docker run -d -p 10911:10911 -p 10909:10909 -v /home/docker/rocketmq/broker-a/logs:/root/logs -v /home/docker/rocketmq/broker-a/store/:/root/store -v /home/docker/rocketmq/broker-a/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --name broker-a --link namesrv-a:namesrv -e "NAMESRV_ADDR=192.168.100.100:9876,192.168.100.100:9877" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
docker run -d -p 10911:10911 -p 10909:10909 -v /home/docker/rocketmq/broker-b/logs:/root/logs -v /home/docker/rocketmq/broker-b/store/:/root/store -v /home/docker/rocketmq/broker-b/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --name broker-b --link namesrv-a:namesrv -e "NAMESRV_ADDR=192.168.100.100:9876;192.168.100.100:9877" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
- docker启动broker从
docker run -d -p 10911:10911 -p 10909:10909 -v /home/docker/rocketmq/broker-b-s/logs:/root/logs -v /home/docker/rocketmq/broker-b-s/store/:/root/store -v /home/docker/rocketmq/broker-b-s/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --name broker-b-s --link namesrv-b:namesrv -e "NAMESRV_ADDR=192.168.100.100:9876;192.168.100.100:9877" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
docker run -d -p 10911:10911 -p 10909:10909 -v /home/docker/rocketmq/broker-a-s/logs:/root/logs -v /home/docker/rocketmq/broker-a-s/store/:/root/store -v /home/docker/rocketmq/broker-a-s/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --name broker-a-s --link namesrv-a:namesrv -e "NAMESRV_ADDR=192.168.100.100:9876,192.168.100.100:9877" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
- 检查容器是否启动成功
- 同步本地与容器时间
- 部署console界面
docker run --name mq-console -d -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.100.100:9876;192.168.100.100:9877 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng
浏览器访问http://ip:port