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

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

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

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

這里我的ip地址如以下的hosts文件如下:
etc/hots文件配置
我配置文件如下:全部均放在每個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
#自動創(chuàng)建訂閱組,建議線下開啟,線上關閉
autoCreateSubscriptionGroup=TRUE
#是否拒絕事務消息接入
rejectTransactionMessage=FALSE
#是否從web服務器獲取NameServer地址,針對大規(guī)模的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 表示強制刪除文件,優(yōu)先保證服務可用; 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
#自動創(chuàng)建訂閱組,建議線下開啟,線上關閉
autoCreateSubscriptionGroup=TRUE
#是否拒絕事務消息接入
rejectTransactionMessage=FALSE
#是否從web服務器獲取NameServer地址,針對大規(guī)模的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 表示強制刪除文件,優(yōu)先保證服務可用; 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
#自動創(chuàng)建訂閱組,建議線下開啟,線上關閉
autoCreateSubscriptionGroup=TRUE
#是否拒絕事務消息接入
rejectTransactionMessage=FALSE
#是否從web服務器獲取NameServer地址,針對大規(guī)模的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 表示強制刪除文件,優(yōu)先保證服務可用; 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
#自動創(chuàng)建訂閱組,建議線下開啟,線上關閉
autoCreateSubscriptionGroup=TRUE
#是否拒絕事務消息接入
rejectTransactionMessage=FALSE
#是否從web服務器獲取NameServer地址,針對大規(guī)模的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 表示強制刪除文件,優(yōu)先保證服務可用; 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
回答
編輯回答
風畔

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

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

你這個問題解決了嗎

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

您好,請問您這個問題解決了嗎

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

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

2017年3月23日 04:18