You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2020/09/07 11:11:26 UTC
[GitHub] [rocketmq] nervose opened a new issue #2291: one slave could not synchronize data in a 2-master-2-slave-sync-cluster
nervose opened a new issue #2291:
URL: https://github.com/apache/rocketmq/issues/2291
The issue tracker is **ONLY** used for bug report(feature request need to follow [RIP process](https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal)). Keep in mind, please check whether there is an existing same report before your raise a new one.
Alternately (especially if your communication is not a bug report), you can send mail to our [mailing lists](http://rocketmq.apache.org/about/contact/). We welcome any friendly suggestions, bug fixes, collaboration and other improvements.
Please ensure that your bug report is clear and that it is complete. Otherwise, we may be unable to understand it or to reproduce it, either of which would prevent us from fixing the bug. We strongly recommend the report(bug report or feature request) could include some hints as the following:
**BUG REPORT**
1. Please describe the issue you observed:
one slave (broker-slave-b) do not synchronize data in a 2-master-2-slave-sync-cluster(NOT CREATE commitlog, consumequeue, index under log dir )
- What did you see instead?
After send serval messages , about half of resut is SLAVE_NOT_AVAILABLE
2. Please tell us about your environment:
broker-master-a.conf:
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字 broker-a、broker-b
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=namesrv-a:9876;namesrv-b:9876
#当前broker监听的IP,此处为宿主机地址
brokerIP1=192.168.75.140
#存在broker主从时,在broker主节点上配置了brokerIP2的话,broker从节点会连接主节点配置的brokerIP2来同步
brokerIP2=broker-master-a
#在发送消息时,自动创建服务器不存在的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=/opt/store
#commitLog 存储路径
storePathCommitLog=/opt/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/store/consumequeue
#消息索引存储路径
storePathIndex=/opt/store/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/store/checkpoint
#abort 文件存储路径
abortFile=/opt/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
broker-master-b.conf
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字 broker-a、broker-b
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=namesrv-a:9876;namesrv-b:9876
#当前broker监听的IP,此处为宿主机地址
brokerIP1=192.168.75.140
#存在broker主从时,在broker主节点上配置了brokerIP2的话,broker从节点会连接主节点配置的brokerIP2来同步
brokerIP2=broker-master-a
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=11911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/opt/store
#commitLog 存储路径
storePathCommitLog=/opt/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/store/consumequeue
#消息索引存储路径
storePathIndex=/opt/store/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/store/checkpoint
#abort 文件存储路径
abortFile=/opt/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
broker-slave-a.conf
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字 broker-a、broker-b
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=namesrv-a:9876;namesrv-b:9876
#当前broker监听的IP,此处为宿主机地址
brokerIP1=192.168.75.140
#存在broker主从时,在broker主节点上配置了brokerIP2的话,broker从节点会连接主节点配置的brokerIP2来同步
brokerIP2=broker-master-a
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=11911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/opt/store
#commitLog 存储路径
storePathCommitLog=/opt/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/store/consumequeue
#消息索引存储路径
storePathIndex=/opt/store/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/store/checkpoint
#abort 文件存储路径
abortFile=/opt/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
broker-slave-b.conf
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字 broker-a、broker-b
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=namesrv-a:9876;namesrv-b:9876
#当前broker监听的IP,此处为宿主机地址
brokerIP1=192.168.75.140
#存在broker主从时,在broker主节点上配置了brokerIP2的话,broker从节点会连接主节点配置的brokerIP2来同步
brokerIP2=broker-master-a
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=11911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/opt/store
#commitLog 存储路径
storePathCommitLog=/opt/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/store/consumequeue
#消息索引存储路径
storePathIndex=/opt/store/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/store/checkpoint
#abort 文件存储路径
abortFile=/opt/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
docker-compose.yaml
version: '3.5'
services:
namesrv-a:
image: foxiswho/rocketmq:4.7.0
container_name: namesrv-a
ports:
- 9876:9876
volumes:
- /data/rocketmq/nameserver-a/logs:/opt/logs
- /data/rocketmq/nameserver-a/store:/opt/store
environment:
JAVA_OPT_EXT: "-Duser.home=/opt -Xms512M -Xmx512M -Xmn128m"
command: ["sh","mqnamesrv"]
namesrv-b:
image: foxiswho/rocketmq:4.7.0
container_name: namesrv-b
ports:
- 9877:9876
volumes:
- /data/rocketmq/nameserver-b/logs:/opt/logs
- /data/rocketmq/nameserver-b/store:/opt/store
environment:
JAVA_OPT_EXT: "-Duser.home=/opt -Xms512M -Xmx512M -Xmn128m"
command: ["sh","mqnamesrv"]
broker-master-a:
image: foxiswho/rocketmq:4.7.0
container_name: broker-master-a
ports:
- 10909:10909
- 10911:10911
- 10912:10912
volumes:
- /data/rocketmq/broker-master-a/logs:/opt/logs
- /data/rocketmq/broker-master-a/store:/opt/store
- /data/rocketmq/broker-master-a/brokerconf/broker.conf:/etc/rocketmq/broker.conf
environment:
JAVA_OPT_EXT: "-Duser.home=/opt -Xms512M -Xmx512M -Xmn128m"
command: ["sh","mqbroker","-c","/etc/rocketmq/broker.conf","-n","namesrv-a:9876;namesrv-b:9876","autoCreateTopicEnable=true"]
depends_on:
- namesrv-a
- namesrv-b
broker-master-b:
image: foxiswho/rocketmq:4.7.0
container_name: broker-master-b
ports:
- 11909:11909
- 11911:11911
- 11912:11912
volumes:
- /data/rocketmq/broker-master-b/logs:/opt/logs
- /data/rocketmq/broker-master-b/store:/opt/store
- /data/rocketmq/broker-master-b/brokerconf/broker.conf:/etc/rocketmq/broker.conf
environment:
JAVA_OPT_EXT: "-Duser.home=/opt -Xms512M -Xmx512M -Xmn128m"
command: ["sh","mqbroker","-c","/etc/rocketmq/broker.conf","-n","namesrv-a:9876;namesrv-b:9876","autoCreateTopicEnable=true"]
depends_on:
- namesrv-a
- namesrv-b
broker-slave-a:
image: foxiswho/rocketmq:4.7.0
container_name: broker-slave-a
ports:
- 12909:12909
- 12911:12911
- 12912:12912
volumes:
- /data/rocketmq/broker-slave-a/logs:/opt/logs
- /data/rocketmq/broker-slave-a/store:/opt/store
- /data/rocketmq/broker-slave-a/brokerconf/broker.conf:/etc/rocketmq/broker.conf
environment:
JAVA_OPT_EXT: "-Duser.home=/opt -Xms512M -Xmx512M -Xmn128m"
command: ["sh","mqbroker","-c","/etc/rocketmq/broker.conf","-n","namesrv-a:9876;namesrv-b:9876","autoCreateTopicEnable=true"]
depends_on:
- namesrv-a
- namesrv-b
broker-slave-b:
image: foxiswho/rocketmq:4.7.0
container_name: broker-slave-b
ports:
- 13909:13909
- 13911:13911
- 13912:13912
volumes:
- /data/rocketmq/broker-slave-b/logs:/opt/logs
- /data/rocketmq/broker-slave-b/store:/opt/store
- /data/rocketmq/broker-slave-b/brokerconf/broker.conf:/etc/rocketmq/broker.conf
environment:
JAVA_OPT_EXT: "-Duser.home=/opt -Xms512M -Xmx512M -Xmn128m"
command: ["sh","mqbroker","-c","/etc/rocketmq/broker.conf","-n","namesrv-a:9876;namesrv-b:9876","autoCreateTopicEnable=true"]
depends_on:
- namesrv-a
- namesrv-b
rmqconsole:
image: styletang/rocketmq-console-ng
container_name: rmqconsole
ports:
- 8180:8080
environment:
JAVA_OPTS: "-Drocketmq.namesrv.addr=namesrv-a:9876;namesrv-b:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
depends_on:
- namesrv-a
- namesrv-b
3. Other information (e.g. detailed explanation, logs, related issues, suggestions how to fix, etc):
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [rocketmq] nervose closed issue #2291: one slave could not synchronize data in a 2-master-2-slave-sync-cluster
Posted by GitBox <gi...@apache.org>.
nervose closed issue #2291:
URL: https://github.com/apache/rocketmq/issues/2291
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org