seedscoder opened a new issue, #54:
URL: https://github.com/apache/rocketmq-docker/issues/54
**BUG REPORT**
1. Please describe the issue you observed:
- What did you do (The steps to reproduce)?
> I want to use docker compose to build a rocketmq cluster with 2 nameserver
nodes, 3 master nodes and 3 slave nodes. When I configure the following, the
broker node cannot be started normally
- docker-compose.yml
```yml
version: '3.5'
services:
namesrv1:
image: apache/rocketmq:4.9.3
container_name: namesrv1
ports:
- 19876:9876
command: sh mqnamesrv
namesrv2:
image: apache/rocketmq:4.9.3
container_name: namesrv2
ports:
- 29876:9876
command: sh mqnamesrv
broker-m-1:
image: apache/rocketmq:4.9.3
container_name: broker-m-1
links:
- namesrv1:namesrv1
- namesrv2:namesrv2
ports:
- 10909:10909
- 10911:10911
- 10912:10912
environment:
TZ: Asia/Shanghai
NAMESRV_ADDR: "192.168.12.1:19876"
JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"
volumes:
-
./rocketmq/broker-m-1/conf/broker-m-1.properties:/home/rocketmq/rocketmq-4.9.3/conf/broker-m-1.properties
command: sh mqbroker -c
/home/rocketmq/rocketmq-4.9.3/conf/broker-m-1.properties
autoCreateTopicEnable=true &
broker-s-1:
image: apache/rocketmq:4.9.3
container_name: broker-s-1
links:
- namesrv1:namesrv1
- namesrv2:namesrv2
ports:
- 11909:10909
- 11911:11911
- 11912:10912
environment:
TZ: Asia/Shanghai
NAMESRV_ADDR: "192.168.12.1:19876"
JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"
volumes:
-
./rocketmq/broker-s-1/conf/broker-s-1.properties:/home/rocketmq/rocketmq-4.9.3/conf/broker-s-1.properties
command: sh mqbroker -c
/home/rocketmq/rocketmq-4.9.3/conf/broker-s-1.properties
autoCreateTopicEnable=true &
broker-m-2:
image: apache/rocketmq:4.9.3
container_name: broker-m-2
links:
- namesrv1:namesrv1
- namesrv2:namesrv1
ports:
- 12909:10909
- 12911:12911
- 12912:10912
environment:
TZ: Asia/Shanghai
NAMESRV_ADDR: "192.168.12.1:19876"
JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"
volumes:
-
./rocketmq/broker-m-2/conf/broker-m-2.properties:/home/rocketmq/rocketmq-4.9.3/conf/broker-m-2.properties
command: sh mqbroker -c
/home/rocketmq/rocketmq-4.9.3/conf/broker-m-2.properties
autoCreateTopicEnable=true &
broker-s-2:
image: apache/rocketmq:4.9.3
container_name: broker-s-2
links:
- namesrv1:namesrv1
- namesrv2:namesrv2
ports:
- 13909:10909
- 13911:13911
- 13912:10912
environment:
TZ: Asia/Shanghai
NAMESRV_ADDR: "192.168.12.1:19876"
JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"
volumes:
-
./rocketmq/broker-s-3/conf/broker-s-3.properties:/home/rocketmq/rocketmq-4.9.3/conf/broker-s-3.properties
command: sh mqbroker -c
/home/rocketmq/rocketmq-4.9.3/conf/broker-s-3.properties
autoCreateTopicEnable=true &
broker-m-3:
image: apache/rocketmq:4.9.3
container_name: broker-m-3
links:
- namesrv1:namesrv1
- namesrv2:namesrv1
ports:
- 14909:10909
- 14911:12911
- 14912:10912
environment:
TZ: Asia/Shanghai
NAMESRV_ADDR: "192.168.12.1:19876"
JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"
volumes:
-
./rocketmq/broker-m-3/conf/broker-m-3.properties:/home/rocketmq/rocketmq-4.9.3/conf/broker-m-3.properties
command: sh mqbroker -c
/home/rocketmq/rocketmq-4.9.3/conf/broker-m-3.properties
autoCreateTopicEnable=true &
broker-s-3:
image: apache/rocketmq:4.9.3
container_name: broker-s-3
links:
- namesrv1:namesrv1
- namesrv2:namesrv2
ports:
- 15909:10909
- 15911:13911
- 15912:10912
environment:
TZ: Asia/Shanghai
NAMESRV_ADDR: "192.168.12.1:19876"
JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"
volumes:
-
./rocketmq/broker-s-3/conf/broker-s-3.properties:/home/rocketmq/rocketmq-4.9.3/conf/broker-s-3.properties
command: sh mqbroker -c
/home/rocketmq/rocketmq-4.9.3/conf/broker-s-3.properties
autoCreateTopicEnable=true &
rocketmq-console:
image: styletang/rocketmq-console-ng
container_name: rocketmq-console
ports:
- 8090:8080
environment:
JAVA_OPTS:
-Drocketmq.namesrv.addr=192.168.12.1:19876;192.168.12.1:29876
-Dcom.rocketmq.sendMessageWithVIPChannel=false
links:
- namesrv1:namesrv1
- namesrv2:namesrv2
```
- ./rocketmq/broker-m-1/conf/broker-m-1.properties
```properties
#所属集群名称,如果多个master,那么每个master配置的名称应该一致,要不然识别不了
brokerClusterName=rocketmq-cluster
#broker名称
brokerName=broker-a
#0 表示master,>0 表示slave
brokerId=0
#nameServer地址,分号隔开
namesrvAddr=192.168.12.1:19876;192.168.12.1:29876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许broker自动创建topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许broker自动创建订阅组,建议线下开始,线上关闭
autoCreateSubscriptionGroup=true
#broker对外服务的监听端口,
#同一台机器部署多个broker,端口号要不同,且端口号之间要相距大些
listenPort=10911
#删除文件的时间节点,默认凌晨4点
deleteWhen=04
#文件保留时间,默认48小时
fileReservedTime=120
#commitLog每个文件的大小,默认大小1g
mapedFileSizeCommitLog=1073741824
#consumeQueue每个文件默认存30w条,根据自身业务进行调整
mapedFileSizeConsumeQueue=300000
destroyMapedFileInterval=120000
redeleteHangedFileInterval=120000
#检查物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#store存储路径,master与slave目录要不同
storePathRootDir=./rocketmq/broker-m-1/data
#commitLog存储路径
# storePathCommitLog=/usr/local/rocketmq/rocketmq-4.2/data/store/commitlog
#限制的消息大小
maxMessageSize=65536
flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000
checkTransactionMessageEnable=false
#发消息线程池数
sendMessageThreadPoolNums=128
#拉去消息线程池数
pullMessageThreadPoolNums=128
#broker角色:
#ASYSC_MASTER 异步复制master
#SYSC_MASTER 同步复制master
#SLAVE 从
brokerRole=SYSC_MASTER
#刷盘方式
#ASYNC_FLUSH 异步刷盘
#SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
```
- ./rocketmq/broker-s-1/conf/broker-s-1.properties
```properties
#所属集群名称,如果多个master,那么每个master配置的名称应该一致,要不然识别不了
brokerClusterName=rocketmq-cluster
#broker名称
brokerName=broker-a
#0 表示master,>0 表示slave
brokerId=1
#nameServer地址,分号隔开
namesrvAddr=192.168.12.1:19876;192.168.12.1:29876
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许broker自动创建topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许broker自动创建订阅组,建议线下开始,线上关闭
autoCreateSubscriptionGroup=true
#broker对外服务的监听端口,
#同一台机器部署多个broker,端口号要不同,且端口号之间要相距大些
listenPort=10911
#删除文件的时间节点,默认凌晨4点
deleteWhen=04
#文件保留时间,默认48小时
fileReservedTime=120
#commitLog每个文件的大小,默认大小1g
mapedFileSizeCommitLog=1073741824
#consumeQueue每个文件默认存30w条,根据自身业务进行调整
mapedFileSizeConsumeQueue=300000
destroyMapedFileInterval=120000
redeleteHangedFileInterval=120000
#检查物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#store存储路径,master与slave目录要不同
storePathRootDir=./rocketmq/broker-s-1/data
#commitLog存储路径
# storePathCommitLog=/usr/local/rocketmq/rocketmq-4.2/data/store/commitlog
#限制的消息大小
maxMessageSize=65536
flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000
checkTransactionMessageEnable=false
#发消息线程池数
sendMessageThreadPoolNums=128
#拉去消息线程池数
pullMessageThreadPoolNums=128
#broker角色:
#ASYSC_MASTER 异步复制master
#SYSC_MASTER 同步复制master
#SLAVE 从
brokerRole=SYSC_MASTER
#刷盘方式
#ASYNC_FLUSH 异步刷盘
#SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
```
""Other node configurations are the same except for the three parameters of
brokername brokerid storepathrootdir""
- What did you expect to see?
**Cluster starts normally**
- What did you see instead?


2. Please tell us about your environment:
- IP : 192.168.12.1
- Docker Desktop for Windows 11
- In addition, I also tried to run on the Linux machine, but still failed to
start normally
3. Other information (e.g. detailed explanation, logs, related issues,
suggestions how to fix, etc):
> Because the broker is not started normally, I cannot see the log
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]