RocketMQ~雙主雙從同步集羣搭建

Rocket 雙主雙從環境搭建

  1. 服務器環境
  2. Host添加信息
  3. 防火牆配置
  4. 環境變量配置
  5. 創建消息存儲路徑
  6. broker配置文件
  7. 修改啓動腳本文件
  8. 服務器啓動
  9. 查看進程狀態
  10. 查看日誌

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配置文件

  1. 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.修改啓動腳本

  1. runbroker.sh
vi /service/tools/rocketmq/bin/runbroker.sh

需要根據內存大小進行適當的對JVM參數進行調整

#開發環境配置 JVM Configuration
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xms256m -Xms128m"
  1. runserver.sh
vim /service/tools/rocket/bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xms256m -Xms128m -xx:MetaspaceSize=128m -xx:MaxMetaspeceSize=320m"

8.啓動服務

  1. 啓動 NameService 集羣

分別在 10.211.55.53 10.211.55.54 啓動Nameserver

cd /service/tools/rocketmq/bin
nohup sh mqnamesrv &
  1. 啓動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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章