RocketMQ双Master+双Slave集群环境搭建
1、准备四台服务器
JF-pre-rocketmq01 172.21.43.103 第一台Mastewr服务器
JF-pre-rocketmq02 172.21.43.106 第二台Mastewr服务器
JF-pre-rocketmq03 172.21.43.107 第一台Mastewr服务器的Slave服务器
JF-pre-rocketmq04 172.21.43.108 第二台Mastewr服务器的Slave服务器
2、修改四台服务器的主机hosts文件
[root@JF-pre-rocketmq01 ~]# vim /etc/hosts#RocketMQ Host List172.21.43.103 JF-pre-rocketmq01172.21.43.106 JF-pre-rocketmq02172.21.43.107 JF-pre-rocketmq03172.21.43.108 JF-pre-rocketmq04
3、上传 alibaba-rocketmq-broker.tar.gz 安装包到/data/目录并解压
[root@JF-pre-rocketmq01 ~]# cd /data/[root@JF-pre-rocketmq01 data]# tar zxf alibaba-rocketmq-broker.tar.gz
4、为4台服务器创建存储文件夹
[root@JF-pre-rocketmq01 data]# mkdir -p /data/rocketmq/store[root@JF-pre-rocketmq01 data]# mkdir -p /data/rocketmq/store/commitlog[root@JF-pre-rocketmq01 data]# mkdir -p /data/rocketmq/store/consumequeue[root@JF-pre-rocketmq01 data]# mkdir -p /data/rocketmq/store/index[root@JF-pre-rocketmq01 data]# mkdir -p /data/logs/rocketmqlogs
5、为四台服务器修改配置文件
[root@JF-pre-rocketmq01 data]# cd /data/alibaba-rocketmq/conf/2m-2s-async/[root@JF-pre-rocketmq01 2m-2s-async]# ll总用量 16-rw-rw-r-- 1 root root 935 9月 18 2016 broker-a.properties-rw-rw-r-- 1 root root 928 9月 18 2016 broker-a-s.properties-rw-rw-r-- 1 root root 935 9月 18 2016 broker-b.properties-rw-rw-r-- 1 root root 928 9月 18 2016 broker-b-s.properties
第一台Maste主机的broker-a.properties配置文件
[root@JF-pre-rocketmq01 2m-2s-async]# mv broker-a.properties broker-a.properties.bak
[root@JF-pre-rocketmq01 2m-2s-async]# vim broker-a.propertiescommercialTimerCount=1autoCreateTopicEnable=truewaitTimeMillsInSendQueue=200fetchNamesrvAddrByAddressServer=falsemessageStorePlugIn=highSpeedMode=falseregisterBrokerTimeoutMills=6000brokerIP2=172.21.43.103brokerIP1=172.21.43.103defaultTopicQueueNums=4brokerPermission=6pullThreadPoolQueueCapacity=10000commercialBigCount=1brokerId=0slaveReadEnable=falseclientManageThreadPoolNums=16notifyConsumerIdsChangedEnable=truerejectTransactionMessage=falsecommercialTransCount=1sendThreadPoolQueueCapacity=10000brokerTopicEnable=trueregionId=DefaultRegionconsumerFallbehindThreshold=0startAcceptSendRequestTimeStamp=0filterServerNums=0namesrvAddr=172.21.43.103:9876;172.21.43.106:9876rocketmqHome=/data/alibaba-rocketmqclusterTopicEnable=trueautoCreateSubscriptionGroup=truepullMessageThreadPoolNums=128sendMessageThreadPoolNums=128maxDelayTime=40brokerClusterName=DefaultClustershortPollingTimeMills=1000flushConsumerOffsetHistoryInterval=60000transferMsgByHeap=trueadminBrokerThreadPoolNums=16brokerName=broker-alongPollingEnable=truecommercialEnable=trueflushConsumerOffsetInterval=5000disableConsumeIfConsumerReadSlowly=falsestorePathCommitLog=/data/rocketmq/store/commitlogputMsgIndexHightWater=600000maxTransferBytesOnMessageInDisk=65536diskMaxUsedSpaceRatio=70checkCRCOnRecover=truehaSlaveFallbehindMax=268435456deleteConsumeQueueFilesInterval=100offsetCheckInSlave=falsecleanResourceInterval=10000maxMsgsNumBatch=64flushConsumeQueueLeastPages=2syncFlushTimeout=5000deleteWhen=04duplicationEnable=falsebrokerRole=ASYNC_MASTERdefaultQueryMaxNum=32diskFallRecorded=truedebugLockEnable=falsedestroyMapedFileIntervalForcibly=120000mapedFileSizeCommitLog=1073741824haSendHeartbeatInterval=5000flushDiskType=ASYNC_FLUSHcleanFileForciblyEnable=truehaHousekeepingInterval=20000redeleteHangedFileInterval=120000maxMessageSize=65536flushLeastPagesWhenWarmMapedFile=4096flushCommitLogTimed=falsemaxTransferCountOnMessageInDisk=8flushIntervalCommitLog=1000fileReservedTime=72flushCommitLogThoroughInterval=10000maxHashSlotNum=5000000maxIndexNum=20000000messageIndexEnable=truestorePathRootDir=/data/rocketmq/store/haListenPort=10912flushDelayOffsetInterval=10000warmMapedFileEnable=falsehaTransferBatchSize=32768deleteCommitLogFilesInterval=100maxTransferBytesOnMessageInMemory=262144accessMessageInMemoryMaxRatio=40flushConsumeQueueThoroughInterval=60000flushIntervalConsumeQueue=1000osPageCacheBusyTimeOutMills=1000maxTransferCountOnMessageInMemory=32messageIndexSafe=falsemapedFileSizeConsumeQueue=50000000messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2hflushCommitLogLeastPages=4serverChannelMaxIdleTimeSeconds=120listenPort=10911serverCallbackExecutorThreads=0serverAsyncSemaphoreValue=64serverSocketSndBufSize=131072serverSelectorThreads=3useEpollNativeSelector=falseserverPooledByteBufAllocatorEnable=trueserverWorkerThreads=8serverSocketRcvBufSize=131072serverOnewaySemaphoreValue=256clientWorkerThreads=4connectTimeoutMillis=3000clientSocketRcvBufSize=131072clientOnewaySemaphoreValue=65535clientChannelMaxIdleTimeSeconds=120clientPooledByteBufAllocatorEnable=falseclientAsyncSemaphoreValue=65535channelNotActiveInterval=60000clientCallbackExecutorThreads=4clientSocketSndBufSize=131072clientCloseSocketIfTimeout=false
第二台Maste主机的broker-b.properties配置文件
[root@JF-pre-rocketmq02 ~]# cd /data/alibaba-rocketmq/conf/2m-2s-async
[root@JF-pre-rocketmq02 2m-2s-async]# mv broker-b.properties broker-b.properties.bak[root@JF-pre-rocketmq02 2m-2s-async]# vim broker-b.propertiescommercialTimerCount=1autoCreateTopicEnable=truewaitTimeMillsInSendQueue=200fetchNamesrvAddrByAddressServer=falsemessageStorePlugIn=highSpeedMode=falseregisterBrokerTimeoutMills=6000brokerIP2=172.21.43.106brokerIP1=172.21.43.106defaultTopicQueueNums=4brokerPermission=6pullThreadPoolQueueCapacity=10000commercialBigCount=1brokerId=0slaveReadEnable=falseclientManageThreadPoolNums=16notifyConsumerIdsChangedEnable=truerejectTransactionMessage=falsecommercialTransCount=1sendThreadPoolQueueCapacity=10000brokerTopicEnable=trueregionId=DefaultRegionconsumerFallbehindThreshold=0startAcceptSendRequestTimeStamp=0filterServerNums=0namesrvAddr=172.21.43.103:9876;172.21.43.106:9876rocketmqHome=/data/alibaba-rocketmqclusterTopicEnable=trueautoCreateSubscriptionGroup=truepullMessageThreadPoolNums=128sendMessageThreadPoolNums=128maxDelayTime=40brokerClusterName=DefaultClustershortPollingTimeMills=1000flushConsumerOffsetHistoryInterval=60000transferMsgByHeap=trueadminBrokerThreadPoolNums=16brokerName=broker-blongPollingEnable=truecommercialEnable=trueflushConsumerOffsetInterval=5000disableConsumeIfConsumerReadSlowly=falsestorePathCommitLog=/data/rocketmq/store/commitlogputMsgIndexHightWater=600000maxTransferBytesOnMessageInDisk=65536diskMaxUsedSpaceRatio=70checkCRCOnRecover=truehaSlaveFallbehindMax=268435456deleteConsumeQueueFilesInterval=100offsetCheckInSlave=falsecleanResourceInterval=10000maxMsgsNumBatch=64flushConsumeQueueLeastPages=2syncFlushTimeout=5000deleteWhen=04duplicationEnable=falsebrokerRole=ASYNC_MASTERdefaultQueryMaxNum=32diskFallRecorded=truedebugLockEnable=falsedestroyMapedFileIntervalForcibly=120000mapedFileSizeCommitLog=1073741824haSendHeartbeatInterval=5000flushDiskType=ASYNC_FLUSHcleanFileForciblyEnable=truehaHousekeepingInterval=20000redeleteHangedFileInterval=120000maxMessageSize=65536flushLeastPagesWhenWarmMapedFile=4096flushCommitLogTimed=falsemaxTransferCountOnMessageInDisk=8flushIntervalCommitLog=1000fileReservedTime=72flushCommitLogThoroughInterval=10000maxHashSlotNum=5000000maxIndexNum=20000000messageIndexEnable=truestorePathRootDir=/data/rocketmq/store/haListenPort=10912flushDelayOffsetInterval=10000warmMapedFileEnable=falsehaTransferBatchSize=32768deleteCommitLogFilesInterval=100maxTransferBytesOnMessageInMemory=262144accessMessageInMemoryMaxRatio=40flushConsumeQueueThoroughInterval=60000flushIntervalConsumeQueue=1000osPageCacheBusyTimeOutMills=1000maxTransferCountOnMessageInMemory=32messageIndexSafe=falsemapedFileSizeConsumeQueue=50000000messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2hflushCommitLogLeastPages=4serverChannelMaxIdleTimeSeconds=120listenPort=10911serverCallbackExecutorThreads=0serverAsyncSemaphoreValue=64serverSocketSndBufSize=131072serverSelectorThreads=3useEpollNativeSelector=falseserverPooledByteBufAllocatorEnable=trueserverWorkerThreads=8serverSocketRcvBufSize=131072serverOnewaySemaphoreValue=256clientWorkerThreads=4connectTimeoutMillis=3000clientSocketRcvBufSize=131072clientOnewaySemaphoreValue=65535clientChannelMaxIdleTimeSeconds=120clientPooledByteBufAllocatorEnable=falseclientAsyncSemaphoreValue=65535channelNotActiveInterval=60000clientCallbackExecutorThreads=4clientSocketSndBufSize=131072clientCloseSocketIfTimeout=false第一台Slave主机的broker-a-s.properties配置文件
[root@JF-pre-rocketmq03 ~]# cd /data/alibaba-rocketmq/conf/2m-2s-async
[root@JF-pre-rocketmq03 2m-2s-async]# mv broker-a-s.properties broker-a-s.properties.bak[root@JF-pre-rocketmq03 2m-2s-async]# vim broker-a-s.propertiescommercialTimerCount=1autoCreateTopicEnable=truewaitTimeMillsInSendQueue=200fetchNamesrvAddrByAddressServer=falsemessageStorePlugIn=highSpeedMode=falseregisterBrokerTimeoutMills=6000brokerIP2=172.21.43.107brokerIP1=172.21.43.107defaultTopicQueueNums=4brokerPermission=6pullThreadPoolQueueCapacity=10000commercialBigCount=1brokerId=1slaveReadEnable=falseclientManageThreadPoolNums=16notifyConsumerIdsChangedEnable=truerejectTransactionMessage=falsecommercialTransCount=1sendThreadPoolQueueCapacity=10000brokerTopicEnable=trueregionId=DefaultRegionconsumerFallbehindThreshold=0startAcceptSendRequestTimeStamp=0filterServerNums=0namesrvAddr=172.21.43.103:9876;172.21.43.106:9876rocketmqHome=/data/alibaba-rocketmqclusterTopicEnable=trueautoCreateSubscriptionGroup=truepullMessageThreadPoolNums=128sendMessageThreadPoolNums=128maxDelayTime=40brokerClusterName=DefaultClustershortPollingTimeMills=1000flushConsumerOffsetHistoryInterval=60000transferMsgByHeap=trueadminBrokerThreadPoolNums=16brokerName=broker-alongPollingEnable=truecommercialEnable=trueflushConsumerOffsetInterval=5000disableConsumeIfConsumerReadSlowly=falsestorePathCommitLog=/data/rocketmq/store/commitlogputMsgIndexHightWater=600000maxTransferBytesOnMessageInDisk=65536diskMaxUsedSpaceRatio=70checkCRCOnRecover=truehaSlaveFallbehindMax=268435456deleteConsumeQueueFilesInterval=100offsetCheckInSlave=falsecleanResourceInterval=10000maxMsgsNumBatch=64flushConsumeQueueLeastPages=2syncFlushTimeout=5000deleteWhen=04duplicationEnable=falsebrokerRole=SLAVEdefaultQueryMaxNum=32diskFallRecorded=truedebugLockEnable=falsedestroyMapedFileIntervalForcibly=120000mapedFileSizeCommitLog=1073741824haSendHeartbeatInterval=5000flushDiskType=ASYNC_FLUSHcleanFileForciblyEnable=truehaHousekeepingInterval=20000redeleteHangedFileInterval=120000maxMessageSize=65536flushLeastPagesWhenWarmMapedFile=4096flushCommitLogTimed=falsemaxTransferCountOnMessageInDisk=8flushIntervalCommitLog=1000fileReservedTime=72flushCommitLogThoroughInterval=10000maxHashSlotNum=5000000maxIndexNum=20000000messageIndexEnable=truestorePathRootDir=/data/rocketmq/store/haListenPort=10912flushDelayOffsetInterval=10000warmMapedFileEnable=falsehaTransferBatchSize=32768deleteCommitLogFilesInterval=100maxTransferBytesOnMessageInMemory=262144accessMessageInMemoryMaxRatio=40flushConsumeQueueThoroughInterval=60000flushIntervalConsumeQueue=1000osPageCacheBusyTimeOutMills=1000maxTransferCountOnMessageInMemory=32messageIndexSafe=falsemapedFileSizeConsumeQueue=50000000messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2hflushCommitLogLeastPages=4serverChannelMaxIdleTimeSeconds=120listenPort=10911serverCallbackExecutorThreads=0serverAsyncSemaphoreValue=64serverSocketSndBufSize=131072serverSelectorThreads=3useEpollNativeSelector=falseserverPooledByteBufAllocatorEnable=trueserverWorkerThreads=8serverSocketRcvBufSize=131072serverOnewaySemaphoreValue=256clientWorkerThreads=4connectTimeoutMillis=3000clientSocketRcvBufSize=131072clientOnewaySemaphoreValue=65535clientChannelMaxIdleTimeSeconds=120clientPooledByteBufAllocatorEnable=falseclientAsyncSemaphoreValue=65535channelNotActiveInterval=60000clientCallbackExecutorThreads=4clientSocketSndBufSize=131072clientCloseSocketIfTimeout=false
第二台Slave主机的broker-b-s.properties配置文件
[root@JF-pre-rocketmq04 ~]# cd /data/alibaba-rocketmq/conf/2m-2s-async[root@JF-pre-rocketmq04 2m-2s-async]# mv broker-b-s.properties broker-b-s.properties.bak[root@JF-pre-rocketmq04 2m-2s-async]# vim broker-b-s.propertiescommercialTimerCount=1autoCreateTopicEnable=truewaitTimeMillsInSendQueue=200fetchNamesrvAddrByAddressServer=falsemessageStorePlugIn=highSpeedMode=falseregisterBrokerTimeoutMills=6000brokerIP2=172.21.43.108brokerIP1=172.21.43.108defaultTopicQueueNums=4brokerPermission=6pullThreadPoolQueueCapacity=10000commercialBigCount=1brokerId=1slaveReadEnable=falseclientManageThreadPoolNums=16notifyConsumerIdsChangedEnable=truerejectTransactionMessage=falsecommercialTransCount=1sendThreadPoolQueueCapacity=10000brokerTopicEnable=trueregionId=DefaultRegionconsumerFallbehindThreshold=0startAcceptSendRequestTimeStamp=0filterServerNums=0namesrvAddr=172.21.43.103:9876;172.21.43.106:9876rocketmqHome=/data/alibaba-rocketmqclusterTopicEnable=trueautoCreateSubscriptionGroup=truepullMessageThreadPoolNums=128sendMessageThreadPoolNums=128maxDelayTime=40brokerClusterName=DefaultClustershortPollingTimeMills=1000flushConsumerOffsetHistoryInterval=60000transferMsgByHeap=trueadminBrokerThreadPoolNums=16brokerName=broker-blongPollingEnable=truecommercialEnable=trueflushConsumerOffsetInterval=5000disableConsumeIfConsumerReadSlowly=falsestorePathCommitLog=/data/rocketmq/store/commitlogputMsgIndexHightWater=600000maxTransferBytesOnMessageInDisk=65536diskMaxUsedSpaceRatio=70checkCRCOnRecover=truehaSlaveFallbehindMax=268435456deleteConsumeQueueFilesInterval=100offsetCheckInSlave=falsecleanResourceInterval=10000maxMsgsNumBatch=64flushConsumeQueueLeastPages=2syncFlushTimeout=5000deleteWhen=04duplicationEnable=falsebrokerRole=SLAVEdefaultQueryMaxNum=32diskFallRecorded=truedebugLockEnable=falsedestroyMapedFileIntervalForcibly=120000mapedFileSizeCommitLog=1073741824haSendHeartbeatInterval=5000flushDiskType=ASYNC_FLUSHcleanFileForciblyEnable=truehaHousekeepingInterval=20000redeleteHangedFileInterval=120000maxMessageSize=65536flushLeastPagesWhenWarmMapedFile=4096flushCommitLogTimed=falsemaxTransferCountOnMessageInDisk=8flushIntervalCommitLog=1000fileReservedTime=72flushCommitLogThoroughInterval=10000maxHashSlotNum=5000000maxIndexNum=20000000messageIndexEnable=truestorePathRootDir=/data/rocketmq/store/haListenPort=10912flushDelayOffsetInterval=10000warmMapedFileEnable=falsehaTransferBatchSize=32768deleteCommitLogFilesInterval=100maxTransferBytesOnMessageInMemory=262144accessMessageInMemoryMaxRatio=40flushConsumeQueueThoroughInterval=60000flushIntervalConsumeQueue=1000osPageCacheBusyTimeOutMills=1000maxTransferCountOnMessageInMemory=32messageIndexSafe=falsemapedFileSizeConsumeQueue=50000000messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2hflushCommitLogLeastPages=4serverChannelMaxIdleTimeSeconds=120listenPort=10911serverCallbackExecutorThreads=0serverAsyncSemaphoreValue=64serverSocketSndBufSize=131072serverSelectorThreads=3useEpollNativeSelector=falseserverPooledByteBufAllocatorEnable=trueserverWorkerThreads=8serverSocketRcvBufSize=131072serverOnewaySemaphoreValue=256clientWorkerThreads=4connectTimeoutMillis=3000clientSocketRcvBufSize=131072clientOnewaySemaphoreValue=65535clientChannelMaxIdleTimeSeconds=120clientPooledByteBufAllocatorEnable=falseclientAsyncSemaphoreValue=65535channelNotActiveInterval=60000clientCallbackExecutorThreads=4clientSocketSndBufSize=131072clientCloseSocketIfTimeout=false
6、依次启动 JF-pre-rocketmq01 和 JF-pre-rocketmq02 的 Namesrv 服务进程
[root@JF-pre-rocketmq01 ~]# cd /data/alibaba-rocketmq/bin/
[root@JF-pre-rocketmq01 bin]# nohup sh mqnamesrv & [root@JF-pre-rocketmq02 ~]# cd /data/alibaba-rocketmq/bin/[root@JF-pre-rocketmq02 bin]# nohup sh mqnamesrv &7、依次启动四台服务器的 Broker 进程
[root@JF-pre-rocketmq01 ~]# nohup sh mqbroker -c /data/alibaba-rocketmq/conf/2m-2s-async/broker-a.properties > /dev/null 2>&1 &[root@JF-pre-rocketmq02 ~]# nohup sh mqbroker -c /data/alibaba-rocketmq/conf/2m-2s-async/broker-b.properties > /dev/null 2>&1 &[root@JF-pre-rocketmq03 ~]# nohup sh mqbroker -c /data/alibaba-rocketmq/conf/2m-2s-async/broker-a-s.properties > /dev/null 2>&1 &[root@JF-pre-rocketmq04 ~]# nohup sh mqbroker -c /data/alibaba-rocketmq/conf/2m-2s-async/broker-b-s.properties > /dev/null 2>&1 &
8.检测
分别检查是否成功启动,检查命令:jps 如果发现有Nameserver和Broker进程在问题基本不大,可以写代码进行测试了
[root@JF-pre-rocketmq01 ~]# cd /usr/java/jdk1.7.0_79/bin/[root@JF-pre-rocketmq01 bin]# ./jps47023 Jps46942 NamesrvStartup46972 BrokerStartup[root@JF-pre-rocketmq02 ~]# cd /usr/java/jdk1.7.0_79/bin/[root@JF-pre-rocketmq02 bin]# ./jps31181 Jps31092 NamesrvStartup31127 BrokerStartup[root@JF-pre-rocketmq03 ~]# cd /usr/java/jdk1.7.0_79/bin/[root@JF-pre-rocketmq03 bin]# ./jps29740 Jps29691 BrokerStartup[root@JF-pre-rocketmq04 ~]# cd /usr/java/jdk1.7.0_79/bin/[root@JF-pre-rocketmq04 bin]# ./jps29710 Jps29659 BrokerStartup
查询集群消息
[root@JF-pre-rocketmq01 bin]# sh mqadmin clusterList -n 127.0.0.1:9876#Cluster Name #Broker Name #BID #Addr #Version #InTPS(LOAD) #OutTPS(LOAD) #PCWait(ms) #Hour #SPACEDefaultCluster broker-a 0 172.21.43.103:10911 V3_5_8 0.00(0,0ms) 0.00(0,0ms) 0 422220.77 0.0484DefaultCluster broker-a 1 172.21.43.107:10911 V3_5_8 0.00(0,0ms) 0.00(0,0ms) 0 422220.77 0.0373DefaultCluster broker-b 0 172.21.43.106:10911 V3_5_8 0.00(0,0ms) 0.00(0,0ms) 0 422220.77 0.0373DefaultCluster broker-b 1 172.21.43.108:10911 V3_5_8 0.00(0,0ms) 0.00(0,0ms) 0 422220.77 0.0373
参考文档:
RocketMQ双Master+双Slave集群环境搭建 http://blog.csdn.net/jianghuiyun/article/details/77971583
RocketMQ 集群搭建 双Master方式 http://zhousw.top/posts/165