1.问题:在Centos6.7配置RocketMQ,在product提交数据后,双master有数据,slave没有数据,这个是什么原因呢?本人已经重装也配置过所有的VM下4个服务器的配置,但是依然没找到问题所在,希望好心人提供解决方案,感激不尽!
2.提交数据,在rocketmq-console看到数据如下:
这里我的ip地址如以下的hosts文件如下:
我配置文件如下:全部均放在每个server的/usr/local/rocketmq/conf/2m-2s-async/
- broker-a-master.properties
listenPort=10911
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
#启动MessageFilterServer进程
filterServerNums=1
brokerIP1=192.168.63.3
brokerName=brocker-a
#Broker所属集群
brokerClusterName=qipuTestCluster
#0:Master >0:Slave
brokerId=0
#Broker 的角色
#ASYNC_MASTER 主从异步复制
#SYNC_MASTER 主从同步双写
#SLAVE Slave
brokerRole=ASYNC_FLUSH
#刷盘方式
#ASYNC_FLUSH:异步刷盘
#SYNC_FLUSH:同步刷盘
flushDiskType=ASYNC_FLUSH
#线下开启,线上关闭
autoCreateTopicEnable=TRUE
#自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=TRUE
#是否拒绝事务消息接入
rejectTransactionMessage=FALSE
#是否从web服务器获取NameServer地址,针对大规模的Broker集群建议使用这种方式
fetchNamesrvAddrByAddressServer=FALSE
#日志根路径
storePathRootDir=/usr/local/rocketmq/store
#commitLog存储路径
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/store/abort
#删除文件时间点,默认凌晨4点
deleteWhen=4
#文件保留时间,默认48小时
fileReservedTime=48
#是否开启消息索引功能
messageIndexEnable=TRUE
#是否提供安全的消息索引机制,索引保证不丢
messageIndexSafe=FALSE
#在 Slave 上直接设置 Master地址,默认从 Name Server 上自动获取,也可以手工强制配置
#haMasterAddress=
flushIntervalCommitLog=1000
#磁盘满、且无过期文件情况下 TRUE 表示强制删除文件,优先保证服务可用; FALSE 标记服务不可用,文件不删除
cleanFileForciblyEnable=TRUE
#Topic持久化文件
topicConfigPath=/usr/local/rocketmq/store/config/topics.json
#ConsumerOffset持久化文件
consumerOffsetPath=/usr/local/rocketmq/store/config/consumerOffset.json
#subscriptionGroup 持久化文件
subscriptionGroupPath=/usr/local/rocketmq/store/config/subscriptionGroup.json
sendMessageThreadPoolNums=128
- broker-a-slave.properties
listenPort=10911
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
#启动MessageFilterServer进程
filterServerNums=1
brokerIP1=192.168.63.5
brokerName=brocker-a
#Broker所属集群
brokerClusterName=qipuTestCluster
#0:Master >0:Slave
brokerId=1
#Broker 的角色
#ASYNC_MASTER 主从异步复制
#SYNC_MASTER 主从同步双写
#SLAVE Slave
brokerRole=SLAVE
#刷盘方式
#ASYNC_FLUSH:异步刷盘
#SYNC_FLUSH:同步刷盘
flushDiskType=ASYNC_FLUSH
#线下开启,线上关闭
autoCreateTopicEnable=TRUE
#自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=TRUE
#是否拒绝事务消息接入
rejectTransactionMessage=FALSE
#是否从web服务器获取NameServer地址,针对大规模的Broker集群建议使用这种方式
fetchNamesrvAddrByAddressServer=FALSE
#日志根路径
storePathRootDir=/usr/local/rocketmq/store
#commitLog存储路径
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/store/abort
#删除文件时间点,默认凌晨4点
deleteWhen=4
#文件保留时间,默认48小时
fileReservedTime=48
#是否开启消息索引功能
messageIndexEnable=TRUE
#是否提供安全的消息索引机制,索引保证不丢
messageIndexSafe=FALSE
#在 Slave 上直接设置 Master地址,默认从 Name Server 上自动获取,也可以手工强制配置
#haMasterAddress=
flushIntervalCommitLog=1000
#磁盘满、且无过期文件情况下 TRUE 表示强制删除文件,优先保证服务可用; FALSE 标记服务不可用,文件不删除
cleanFileForciblyEnable=TRUE
#Topic持久化文件
topicConfigPath=/usr/local/rocketmq/store/config/topics.json
#ConsumerOffset持久化文件
consumerOffsetPath=/usr/local/rocketmq/store/config/consumerOffset.json
#subscriptionGroup 持久化文件
subscriptionGroupPath=/usr/local/rocketmq/store/config/subscriptionGroup.json
sendMessageThreadPoolNums=128
- broker-b-master.properties
listenPort=10911
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
#启动MessageFilterServer进程
filterServerNums=1
brokerIP1=192.168.63.4
brokerName=brocker-b
#Broker所属集群
brokerClusterName=qipuTestCluster
#0:Master >0:Slave
brokerId=0
#Broker 的角色
#ASYNC_MASTER 主从异步复制
#SYNC_MASTER 主从同步双写
#SLAVE Slave
brokerRole=ASYNC_MASTER
#刷盘方式
#ASYNC_FLUSH:异步刷盘
#SYNC_FLUSH:同步刷盘
flushDiskType=ASYNC_MASTER
#线下开启,线上关闭
autoCreateTopicEnable=TRUE
#自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=TRUE
#是否拒绝事务消息接入
rejectTransactionMessage=FALSE
#是否从web服务器获取NameServer地址,针对大规模的Broker集群建议使用这种方式
fetchNamesrvAddrByAddressServer=FALSE
#日志根路径
storePathRootDir=/usr/local/rocketmq/store
#commitLog存储路径
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/store/abort
#删除文件时间点,默认凌晨4点
deleteWhen=4
#文件保留时间,默认48小时
fileReservedTime=48
#是否开启消息索引功能
messageIndexEnable=TRUE
#是否提供安全的消息索引机制,索引保证不丢
messageIndexSafe=FALSE
#在 Slave 上直接设置 Master地址,默认从 Name Server 上自动获取,也可以手工强制配置
#haMasterAddress=
flushIntervalCommitLog=1000
#磁盘满、且无过期文件情况下 TRUE 表示强制删除文件,优先保证服务可用; FALSE 标记服务不可用,文件不删除
cleanFileForciblyEnable=TRUE
#Topic持久化文件
topicConfigPath=/usr/local/rocketmq/store/config/topics.json
#ConsumerOffset持久化文件
consumerOffsetPath=/usr/local/rocketmq/store/config/consumerOffset.json
#subscriptionGroup 持久化文件
subscriptionGroupPath=/data/logs/rocketmq/store/config/subscriptionGroup.json
sendMessageThreadPoolNums=128
- broker-b-slave.properties
listenPort=10911
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
#启动MessageFilterServer进程
filterServerNums=1
brokerIP1=192.168.63.6
brokerName=brocker-b
#Broker所属集群
brokerClusterName=qipuTestCluster
#0:Master >0:Slave
brokerId=1
#Broker 的角色
#ASYNC_MASTER 主从异步复制
#SYNC_MASTER 主从同步双写
#SLAVE Slave
brokerRole=SLAVE
#刷盘方式
#ASYNC_FLUSH:异步刷盘
#SYNC_FLUSH:同步刷盘
flushDiskType=SYNC_FLUSH
#线下开启,线上关闭
autoCreateTopicEnable=TRUE
#自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=TRUE
#是否拒绝事务消息接入
rejectTransactionMessage=FALSE
#是否从web服务器获取NameServer地址,针对大规模的Broker集群建议使用这种方式
fetchNamesrvAddrByAddressServer=FALSE
#日志根路径
storePathRootDir=/usr/local/rocketmq/store
#commitLog存储路径
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/store/abort
#删除文件时间点,默认凌晨4点
deleteWhen=4
#文件保留时间,默认48小时
fileReservedTime=48
#是否开启消息索引功能
messageIndexEnable=TRUE
#是否提供安全的消息索引机制,索引保证不丢
messageIndexSafe=FALSE
#在 Slave 上直接设置 Master地址,默认从 Name Server 上自动获取,也可以手工强制配置
#haMasterAddress=
flushIntervalCommitLog=1000
#磁盘满、且无过期文件情况下 TRUE 表示强制删除文件,优先保证服务可用; FALSE 标记服务不可用,文件不删除
cleanFileForciblyEnable=TRUE
#Topic持久化文件
topicConfigPath=/usr/local/rocketmq/store/config/topics.json
#ConsumerOffset持久化文件
consumerOffsetPath=/usr/local/rocketmq/store/config/consumerOffset.json
#subscriptionGroup 持久化文件
subscriptionGroupPath=/usr/local/rocketmq/store/config/subscriptionGroup.json
sendMessageThreadPoolNums=128
同样遇到这个问题,踩坑无数: