鍍金池/ 問(wèn)答/Java  Linux  網(wǎng)絡(luò)安全/ RocketMQ 雙master雙slave 異步刷盤,Produce提交后,s

RocketMQ 雙master雙slave 異步刷盤,Produce提交后,slave不能同步刷新mater的數(shù)據(jù)

1.問(wèn)題:在Centos6.7配置RocketMQ,在product提交數(shù)據(jù)后,雙master有數(shù)據(jù),slave沒(méi)有數(shù)據(jù),這個(gè)是什么原因呢?本人已經(jīng)重裝也配置過(guò)所有的VM下4個(gè)服務(wù)器的配置,但是依然沒(méi)找到問(wèn)題所在,希望好心人提供解決方案,感激不盡!

2.提交數(shù)據(jù),在rocketmq-console看到數(shù)據(jù)如下:
slave沒(méi)有同步到master的48條數(shù)據(jù)--另一個(gè)master也是一樣

這里我的ip地址如以下的hosts文件如下:
etc/hots文件配置
我配置文件如下:全部均放在每個(gè)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
#啟動(dòng)MessageFilterServer進(jìn)程
filterServerNums=1
brokerIP1=192.168.63.3
brokerName=brocker-a
#Broker所屬集群
brokerClusterName=qipuTestCluster
#0:Master >0:Slave
brokerId=0
#Broker 的角色
#ASYNC_MASTER 主從異步復(fù)制
#SYNC_MASTER  主從同步雙寫(xiě)
#SLAVE    Slave
brokerRole=ASYNC_FLUSH
#刷盤方式
#ASYNC_FLUSH:異步刷盤
#SYNC_FLUSH:同步刷盤
flushDiskType=ASYNC_FLUSH
#線下開(kāi)啟,線上關(guān)閉
autoCreateTopicEnable=TRUE
#自動(dòng)創(chuàng)建訂閱組,建議線下開(kāi)啟,線上關(guān)閉
autoCreateSubscriptionGroup=TRUE
#是否拒絕事務(wù)消息接入
rejectTransactionMessage=FALSE
#是否從web服務(wù)器獲取NameServer地址,針對(duì)大規(guī)模的Broker集群建議使用這種方式
fetchNamesrvAddrByAddressServer=FALSE
#日志根路徑
storePathRootDir=/usr/local/rocketmq/store
#commitLog存儲(chǔ)路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消費(fèi)隊(duì)列存儲(chǔ)路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存儲(chǔ)路徑
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint文件存儲(chǔ)路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存儲(chǔ)路徑
abortFile=/usr/local/rocketmq/store/abort
#刪除文件時(shí)間點(diǎn),默認(rèn)凌晨4點(diǎn)
deleteWhen=4
#文件保留時(shí)間,默認(rèn)48小時(shí)
fileReservedTime=48
#是否開(kāi)啟消息索引功能
messageIndexEnable=TRUE
#是否提供安全的消息索引機(jī)制,索引保證不丟
messageIndexSafe=FALSE
#在 Slave 上直接設(shè)置 Master地址,默認(rèn)從 Name Server 上自動(dòng)獲取,也可以手工強(qiáng)制配置
#haMasterAddress=
flushIntervalCommitLog=1000
#磁盤滿、且無(wú)過(guò)期文件情況下 TRUE 表示強(qiáng)制刪除文件,優(yōu)先保證服務(wù)可用; FALSE 標(biāo)記服務(wù)不可用,文件不刪除
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
#啟動(dòng)MessageFilterServer進(jìn)程
filterServerNums=1
brokerIP1=192.168.63.5
brokerName=brocker-a
#Broker所屬集群
brokerClusterName=qipuTestCluster
#0:Master >0:Slave
brokerId=1
#Broker 的角色
#ASYNC_MASTER 主從異步復(fù)制
#SYNC_MASTER  主從同步雙寫(xiě)
#SLAVE    Slave
brokerRole=SLAVE
#刷盤方式
#ASYNC_FLUSH:異步刷盤
#SYNC_FLUSH:同步刷盤
flushDiskType=ASYNC_FLUSH
#線下開(kāi)啟,線上關(guān)閉
autoCreateTopicEnable=TRUE
#自動(dòng)創(chuàng)建訂閱組,建議線下開(kāi)啟,線上關(guān)閉
autoCreateSubscriptionGroup=TRUE
#是否拒絕事務(wù)消息接入
rejectTransactionMessage=FALSE
#是否從web服務(wù)器獲取NameServer地址,針對(duì)大規(guī)模的Broker集群建議使用這種方式
fetchNamesrvAddrByAddressServer=FALSE
#日志根路徑
storePathRootDir=/usr/local/rocketmq/store
#commitLog存儲(chǔ)路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消費(fèi)隊(duì)列存儲(chǔ)路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存儲(chǔ)路徑
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint文件存儲(chǔ)路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存儲(chǔ)路徑
abortFile=/usr/local/rocketmq/store/abort
#刪除文件時(shí)間點(diǎn),默認(rèn)凌晨4點(diǎn)
deleteWhen=4
#文件保留時(shí)間,默認(rèn)48小時(shí)
fileReservedTime=48
#是否開(kāi)啟消息索引功能
messageIndexEnable=TRUE
#是否提供安全的消息索引機(jī)制,索引保證不丟
messageIndexSafe=FALSE
#在 Slave 上直接設(shè)置 Master地址,默認(rèn)從 Name Server 上自動(dòng)獲取,也可以手工強(qiáng)制配置
#haMasterAddress=
flushIntervalCommitLog=1000
#磁盤滿、且無(wú)過(guò)期文件情況下 TRUE 表示強(qiáng)制刪除文件,優(yōu)先保證服務(wù)可用; FALSE 標(biāo)記服務(wù)不可用,文件不刪除
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
#啟動(dòng)MessageFilterServer進(jìn)程
filterServerNums=1
brokerIP1=192.168.63.4
brokerName=brocker-b
#Broker所屬集群
brokerClusterName=qipuTestCluster
#0:Master >0:Slave
brokerId=0
#Broker 的角色
#ASYNC_MASTER 主從異步復(fù)制
#SYNC_MASTER  主從同步雙寫(xiě)
#SLAVE    Slave
brokerRole=ASYNC_MASTER
#刷盤方式
#ASYNC_FLUSH:異步刷盤
#SYNC_FLUSH:同步刷盤
flushDiskType=ASYNC_MASTER
#線下開(kāi)啟,線上關(guān)閉
autoCreateTopicEnable=TRUE
#自動(dòng)創(chuàng)建訂閱組,建議線下開(kāi)啟,線上關(guān)閉
autoCreateSubscriptionGroup=TRUE
#是否拒絕事務(wù)消息接入
rejectTransactionMessage=FALSE
#是否從web服務(wù)器獲取NameServer地址,針對(duì)大規(guī)模的Broker集群建議使用這種方式
fetchNamesrvAddrByAddressServer=FALSE
#日志根路徑
storePathRootDir=/usr/local/rocketmq/store
#commitLog存儲(chǔ)路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消費(fèi)隊(duì)列存儲(chǔ)路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存儲(chǔ)路徑
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint文件存儲(chǔ)路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存儲(chǔ)路徑
abortFile=/usr/local/rocketmq/store/abort
#刪除文件時(shí)間點(diǎn),默認(rèn)凌晨4點(diǎn)
deleteWhen=4
#文件保留時(shí)間,默認(rèn)48小時(shí)
fileReservedTime=48
#是否開(kāi)啟消息索引功能
messageIndexEnable=TRUE
#是否提供安全的消息索引機(jī)制,索引保證不丟
messageIndexSafe=FALSE
#在 Slave 上直接設(shè)置 Master地址,默認(rèn)從 Name Server 上自動(dòng)獲取,也可以手工強(qiáng)制配置
#haMasterAddress=
flushIntervalCommitLog=1000
#磁盤滿、且無(wú)過(guò)期文件情況下 TRUE 表示強(qiáng)制刪除文件,優(yōu)先保證服務(wù)可用; FALSE 標(biāo)記服務(wù)不可用,文件不刪除
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
#啟動(dòng)MessageFilterServer進(jìn)程
filterServerNums=1
brokerIP1=192.168.63.6
brokerName=brocker-b
#Broker所屬集群
brokerClusterName=qipuTestCluster
#0:Master >0:Slave
brokerId=1
#Broker 的角色
#ASYNC_MASTER 主從異步復(fù)制
#SYNC_MASTER  主從同步雙寫(xiě)
#SLAVE    Slave
brokerRole=SLAVE
#刷盤方式
#ASYNC_FLUSH:異步刷盤
#SYNC_FLUSH:同步刷盤
flushDiskType=SYNC_FLUSH
#線下開(kāi)啟,線上關(guān)閉
autoCreateTopicEnable=TRUE
#自動(dòng)創(chuàng)建訂閱組,建議線下開(kāi)啟,線上關(guān)閉
autoCreateSubscriptionGroup=TRUE
#是否拒絕事務(wù)消息接入
rejectTransactionMessage=FALSE
#是否從web服務(wù)器獲取NameServer地址,針對(duì)大規(guī)模的Broker集群建議使用這種方式
fetchNamesrvAddrByAddressServer=FALSE
#日志根路徑
storePathRootDir=/usr/local/rocketmq/store
#commitLog存儲(chǔ)路徑
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消費(fèi)隊(duì)列存儲(chǔ)路徑
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存儲(chǔ)路徑
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint文件存儲(chǔ)路徑
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存儲(chǔ)路徑
abortFile=/usr/local/rocketmq/store/abort
#刪除文件時(shí)間點(diǎn),默認(rèn)凌晨4點(diǎn)
deleteWhen=4
#文件保留時(shí)間,默認(rèn)48小時(shí)
fileReservedTime=48
#是否開(kāi)啟消息索引功能
messageIndexEnable=TRUE
#是否提供安全的消息索引機(jī)制,索引保證不丟
messageIndexSafe=FALSE
#在 Slave 上直接設(shè)置 Master地址,默認(rèn)從 Name Server 上自動(dòng)獲取,也可以手工強(qiáng)制配置
#haMasterAddress=
flushIntervalCommitLog=1000
#磁盤滿、且無(wú)過(guò)期文件情況下 TRUE 表示強(qiáng)制刪除文件,優(yōu)先保證服務(wù)可用; FALSE 標(biāo)記服務(wù)不可用,文件不刪除
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
回答
編輯回答
風(fēng)畔

你好,你可先隨意在一臺(tái)slave的機(jī)器中看下broker打印的日志,該slave是否注冊(cè)到了namesrv中呢?也可以將HA方式改成同步雙寫(xiě)模式,就可以在producer發(fā)送消息會(huì)返回具體的問(wèn)題。

2017年7月24日 13:18
編輯回答
不將就

你這個(gè)問(wèn)題解決了嗎

2017年4月19日 02:38
編輯回答
硬扛

您好,請(qǐng)問(wèn)您這個(gè)問(wèn)題解決了嗎

2017年8月4日 22:15
編輯回答
脾氣硬

踩了一波坑,可能和樓主的不一樣。我是主備的brokerName配置的不一樣導(dǎo)致的。

2017年3月23日 04:18