RocketMQ兩主兩從搭建

一.準備工作

1.編輯hosts文件(兩個節點服務器都要改,)
vim /etc/hosts
添加以下信息:

	#namesrv cluster
	47.111.67.27 mq-nameserver1
	47.111.141.21 mq-nameserver2
	#broker
	47.111.67.27  mq-master1
	47.111.67.27  mq-slave2
	47.111.141.21  mq-master2
	47.111.141.21  mq-slave1
	Esc-> :wq!保存退出
	然後重啓網卡:systemctl restart network

2.防火牆配置
查看防火牆狀態 並開發端口
nameserver:9876
broker-master:10911
broker-slave:11011

3.環境變量配置
vim /etc/profile
#配置rocketMq環境變量

	ROCKETMQ_HOME=/soft/rocketmq/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2
	PATH=$PATH:$ROCKETMQ_HOME/bin

讓配置生效

	export ROCKETMQ_HOME PATH
	source /etc/profile

4.創建mq消息存儲路徑

	mkdir /software_data/mq-store
	cd /software_data/mq-store
	mkdir index
	mkdir consumequeue
	mkdir commitlog

5.修改broker配置文件

	#所屬集羣名字
	brokerClusterName=rocketmq-cluster
	#broker名字,注意此處不同的配置文件填寫的不一樣,
	#brokerName=broker-a
	#0 表示 Master,>0 表示 Slave
	#brokerId=0
	#nameServer地址,分號分割
	namesrvAddr=mq-nameserver1:9876;mq-nameserver2:9876
	#在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數
	defaultTopicQueueNums=4
	#是否允許 Broker 自動創建Topic,建議線下開啓,線上關閉
	autoCreateTopicEnable=true
	#是否允許 Broker 自動創建訂閱組,建議線下開啓,線上關閉
	autoCreateSubscriptionGroup=true
	#Broker 對外服務的監聽端口
	listenPort=10911
	haListenPort=10912
	#刪除文件時間點,默認凌晨 4點
	deleteWhen=04
	#文件保留時間,默認 48 小時
	fileReservedTime=120
	#commitLog每個文件的大小默認1G
	mapedFileSizeCommitLog=1073741824
	#ConsumeQueue每個文件默認存30W條,根據業務情況調整
	mapedFileSizeConsumeQueue=300000
	#destroyMapedFileIntervalForcibly=120000
	#redeleteHangedFileInterval=120000
	#檢測物理文件磁盤空間
	diskMaxUsedSpaceRatio=88
	#存儲路徑
	storePathRootDir=/software_data/mq-store/store
	#commitLog 存儲路徑
	storePathCommitLog=/software_data/mq-store/commitlog
	#消費隊列存儲路徑存儲路徑
	storePathConsumeQueue=/software_data/mq-store/consumequeue
	#消息索引存儲路徑
	storePathIndex=/software_data/mq-store/index
	#checkpoint 文件存儲路徑
	storeCheckpoint=/software_data/mq-store/checkpoint
	#abort 文件存儲路徑
	abortFile=/software_data/mq-store/abort
	#限制的消息大小
	maxMessageSize=65536
	
	#flushCommitLogLeastPages=4
	#flushConsumeQueueLeastPages=2
	#flushCommitLogThoroughInterval=10000
	#flushConsumeQueueThoroughInterval=60000
	#Broker 的角色
	#- ASYNC_MASTER 異步複製Master
	#- SYNC_MASTER 同步雙寫Master
	#- SLAVE
	#brokerRole=ASYNC_MASTER
	
	#刷盤方式
	#- ASYNC_FLUSH 異步刷盤
	#- SYNC_FLUSH 同步刷盤
	flushDiskType=ASYNC_FLUSH
	#checkTransactionMessageEnable=false
	#發消息線程池數量
	#sendMessageThreadPoolNums=128
	#拉消息線程池數量 
	#pullMessageThreadPoolNums=128
	##強制指定本機IP,需要根據每臺機器進行修改。官方介紹可爲空,系統默認自動識別,但多網卡時IP地址可能讀取錯誤
	brokerIP1=47.111.141.21

6.修改啓動腳本文件
修改啓動內存配置
vim bin/runbroker.sh
vim bin/runserver.sh

二.啓動

1.啓動namesrv,分別啓動兩個節點的namesrv

nohup sh bin/mqnamesrv &

2.啓動broker
第一個節點,先啓動master1

nohup sh mqbroker -c /software_data/rocketmq-all-4.5.2-source-release/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2/conf/2m-2s-async/broker-a.properties &
  再啓動slave2
nohup sh mqbroker -c /software_data/rocketmq-all-4.5.2-source-release/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2/conf/2m-2s-async/broker-b-s.properties &
 第二個節點
  先啓動master2
nohup sh mqbroker -c /software_data/rocketmq-all-4.5.2-source-release/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2/conf/2m-2s-async/broker-b.properties &
  再啓動slave1
nohup sh mqbroker -c /software_data/rocketmq-all-4.5.2-source-release/distribution/target/rocketmq-4.5.2/rocketmq-4.5.2/conf/2m-2s-async/broker-a-s.properties & 
發佈了41 篇原創文章 · 獲贊 16 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章