Rocket 雙主雙從環境搭建
- 服務器環境
- Host添加信息
- 防火牆配置
- 環境變量配置
- 創建消息存儲路徑
- broker配置文件
- 修改啓動腳本文件
- 服務器啓動
- 查看進程狀態
- 查看日誌
1. 服務器配置
序號 | Ip | 角色 | 架構模式 |
---|---|---|---|
1 | 10.211.55.53 | nameServer, brokerserver | Master1, Slave2 |
2 | 10.211.55.54 | Nameserver, brokerserver | Mater2,Slave1 |
2.Host添加信息
vim /etc/hosts
配置如下
#nameserver
10.211.55.53 rocketmq-nameserver-1
10.211.55.54 rocketmq-nameserver-2
#broker
10.211.55.53 rocketmq-master-1
10.211.55.54 rocketmq-slave-1
10.211.55.54 rocketmq-master-2
10.211.55.53 rocketmq-slave-2
配置完成後重啓網卡
systemctl restart network
3.關閉防火牆
#關閉防火牆
systemctl stop firewalld.service
#查看防火牆的狀態
firewall-cmd --state
#禁止防火牆開啓啓動
systemctl disable firewalld.service
注:
Rocket默認使用3個端口, 9876, 10911, 11011 如果防火牆沒有關閉的話,那麼防火牆必須開放這些端口:
- nameserver 默認使用9876端口
- master 默認使用10911端口
- slave 默認使用11011端口
4.環境變量配置
vim /etc/profile
在profile文件的末尾加上如下命令
#set rocketmq rocket的安裝目錄
ROCKETMQ_HOME=/service/tools/rocketmq
PATH=$PATH:$ROCKETMQ_HOME/bin
export ROCKETMQ_HOME PATH
保存退出 進行刷新
source /etc/profile
5.創建消息目錄
mkdir -p /service/tools/rocketmq/store
mkdir -p /service/tools/rocketmq/store/commitlog
mkdir -p /service/tools/rocketmq/store/consumequeue
mkdir -p /service/tools/rocketmq/store/index
mkdir -p /service/tools/rocketmq/store/checkpoint
mkdir -p /service/tools/rocketmq/store/abort
6.broker配置文件
- master-1
服務器配置: 10.211.55.53
#所屬集羣名稱
brokerClusterName=DefaultCluster
#borker名稱,注意此處不同的配置文件填寫的不一樣
brokerName=broker-a
#0 表示 master >0 表示 slave
brokerId=0
#nameserver地址, 分號分割
namesrvAddr=rocketmq-nameserver-1:9876 rocketmq-nameserver-2:9876
#在發消息時,自動創建Tocic,建議線下開啓.默認創建的隊列數
defaultTopicQueueNums=4
#是否允許 broker 自動創建訂閱組, 建議線下開啓,線上關閉
autoCreateSubscriptionGroup=true
#broker 對外服務的監聽端口
listenPort=10911
#刪除文件時間點 默認爲凌晨4點
deleteWhen=04
#文件保留時間 默認 48小時
fileReservedTime=120
#commitlog每個文件默認存儲30w條, 根據業務情況調整
mapedFileSizeConsumeQueue=300000
#檢測物理文件磁盤空間
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/service/tools/rocketmq/store
#commitlog存儲路徑
storePathCommitLog=/service/tools/rocketmq/store/commitlog
#消費隊列存儲路徑
storePathConsumeQueue=/service/tools/rocketmq/store/consumequeue
#消息索引存儲路徑
storePathIndex=/service/tools/rocketmq/store/index
#checkpoint文件存儲路徑
storeCheckpoint=/service/tools/rocketmq/store/checkpoint
#abort 文件存儲路徑
abortFile=/service/tools/rocketmq/store/abort
#限制的消息大小
maxMessageSize=655366
#Broker角色
#ASYNC_MASTER 異步複製master
#SYNC_MASTER 同步複製master
brokerRole=SYNC_MASTER
#刷盤方式
#SYNC_FLUSH 同步刷盤
#ASYNC_FLUSH 異步刷盤
flushDiskType=SYNC_FLUSH
#sendTransactionMessageEnable=false
#發消息線程池數量
#sendMessageThreadPoolNums=128
#拉消息線程池數量
#pullMessageThreadPoolNums=128
7.修改啓動腳本
- runbroker.sh
vi /service/tools/rocketmq/bin/runbroker.sh
需要根據內存大小進行適當的對JVM參數進行調整
#開發環境配置 JVM Configuration
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xms256m -Xms128m"
- runserver.sh
vim /service/tools/rocket/bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xms256m -Xms128m -xx:MetaspaceSize=128m -xx:MaxMetaspeceSize=320m"
8.啓動服務
- 啓動 NameService 集羣
分別在 10.211.55.53 10.211.55.54 啓動Nameserver
cd /service/tools/rocketmq/bin
nohup sh mqnamesrv &
-
啓動Broker集羣
在 10.211.55.53 上啓動 master-1 和 slave-2
master-1
cd /service/tools/rocketmq/bin nohup sh mqbroker -c /service/tools/rocketmq/conf/2m-2s-sync/broker-a.properties -n 10.211.55.54:9876 &
slave-2
cd /service/tools/rocketmq/bin nohup sh mqbroker -c /service/tools/rocketmq/conf/2m-2s-sync/broker-b-s.properties -n 10.211.55.54:9876 &
在 10.211.55.54 上啓動 master-2 和 slave-1
master-2
cd /service/tools/rocketmq/bin nohup sh mqbroker -c /service/tools/rocketmq/conf/2m-2s-sync/broker-b.properties -n 10.211.55.53:9876 &
slave-1
cd /service/tools/rocketmq/bin nohup sh mqbroker -c /service/tools/rocketmq/conf/2m-2s-sync/broker-a-s.properties -n 10.211.55.53:9876 &
9.查看進程狀態
jps
10.查看日誌
#查看nameserver日誌
tail -500f ~/logs/rocketmqlogs/namesrv.log
#查看broker日誌
tail -500f ~/logs/rocketmqlogs/broker.log