rocketmq集羣安裝配置:雙主雙從同步模式集羣

1、機器和角色
192.168.11.176 broker-master-a broker-slave-b
192.168.11.180 broker-master-b broker-slave-a
192.168.11.182 nameServer console

2、解壓 rocketmq 包,創建目錄

三個節點操作

yum install java-1.8.0-openjdk*.x86_64

mkdir /data/packages -p
cd /data/packages
上傳包

mkdir /data/usr
unzip rocketmq-all-4.5.0-bin-release.zip -d /data/usr
cd /data/usr
ln -s rocketmq-all-4.5.0-bin-release rocketmq

創建目錄
服務器 192.168.11.176
mkdir -p /data/usr/rocketmq_data/{store-a,commitlog-a,consumequeue-a,store-b-s,commitlog-b-s,consumequeue-b-s}
mkdir /data/usr/rocketmq_data/logs

服務器 192.168.11.180
mkdir -p /data/usr/rocketmq_data/{store-b,commitlog-b,consumequeue-b,store-a-s,commitlog-a-s,consumequeue-a-s}
mkdir /data/usr/rocketmq_data/logs

服務器 192.168.11.182
mkdir -p /data/usr/rocketmq_data/logs


3、修改配置文件

3.1、節點 192.168.11.176
cd rocketmq/conf/2m-2s-async

vi broker-a.properties 
#集羣名
brokerClusterName=Data-Cluster
#broker名字
brokerName=broker-a
#0 表示 Master, >0 表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=192.168.11.182:9876
#在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數
defaultTopicQueueNums=3
#是否允許 Broker 自動創建Topic,建議線下開啓,線上關閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創建訂閱組,建議線下開啓,線上關閉
autoCreateSubscriptionGroup=true
#Broker 對外服務的監聽端口
listenPort=10911
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
#fileReservedTime=3600
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#文件磁盤最大利用率
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/data/usr/rocketmq_data/store-a
#commitLog 存儲路徑
storePathCommitLog=/data/usr/rocketmq_data/commitlog-a
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/data/usr/rocketmq_data/consumequeue-a
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步複製Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH

vi broker-b-s.properties 
#集羣名
brokerClusterName=Data-Cluster
#broker名字
brokerName=broker-b
#0 表示 Master, >0 表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=192.168.11.182:9876
#在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數
defaultTopicQueueNums=3
#是否允許 Broker 自動創建Topic,建議線下開啓,線上關閉
autoCreateTopicEnable=ture
#是否允許 Broker 自動創建訂閱組,建議線下開啓,線上關閉
autoCreateSubscriptionGroup=ture
#Broker 對外服務的監聽端口
listenPort=10950
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
#fileReservedTime=3600
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#磁盤最大利用率
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/data/usr/rocketmq_data/store-b-s
#commitLog 存儲路徑
storePathCommitLog=/data/usr/rocketmq_data/commitlog-b-s
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/data/usr/rocketmq_data/consumequeue-b-s
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步複製Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH

3.2、節點 192.168.11.180
cd rocketmq/conf/2m-2s-async

vi broker-b.properties 
#集羣名
brokerClusterName=Data-Cluster
#broker名字
brokerName=broker-b
#0 表示 Master, >0 表示 Slave
brokerId=0
#nameServer地址,分號分割
namesrvAddr=1192.168.11.182:9876
#在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數
defaultTopicQueueNums=3
#是否允許 Broker 自動創建Topic,建議線下開啓,線上關閉
autoCreateTopicEnable=ture
#是否允許 Broker 自動創建訂閱組,建議線下開啓,線上關閉
autoCreateSubscriptionGroup=ture
#Broker 對外服務的監聽端口
listenPort=10911
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
#fileReservedTime=3600
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#磁盤最大利用率
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/data/usr/rocketmq_data/store-b
#commitLog 存儲路徑
storePathCommitLog=/data/usr/rocketmq_data/commitlog-b
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/data/usr/rocketmq_data/consumequeue-b
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步複製Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH

vi broker-a-s.properties 
#集羣名
brokerClusterName=Data-Cluster
#broker名字
brokerName=broker-a
#0 表示 Master, >0 表示 Slave
brokerId=1
#nameServer地址,分號分割
namesrvAddr=192.168.11.182:9876
#在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數
defaultTopicQueueNums=3
#是否允許 Broker 自動創建Topic,建議線下開啓,線上關閉
autoCreateTopicEnable=true
#是否允許 Broker 自動創建訂閱組,建議線下開啓,線上關閉
autoCreateSubscriptionGroup=true
#Broker 對外服務的監聽端口
listenPort=10950
#刪除文件時間點,默認凌晨 4點
deleteWhen=04
#文件保留時間,默認 48 小時
#fileReservedTime=3600
#commitLog每個文件的大小默認1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每個文件默認存30W條,根據業務情況調整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#文件磁盤最大利用率
diskMaxUsedSpaceRatio=88
#存儲路徑
storePathRootDir=/data/usr/rocketmq_data/store-a-s
#commitLog 存儲路徑
storePathCommitLog=/data/usr/rocketmq_data/commitlog-a-s
#消費隊列存儲路徑存儲路徑
storePathConsumeQueue=/data/usr/rocketmq_data/consumequeue-a-s
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 異步複製Master
#- SYNC_MASTER 同步雙寫Master
#- SLAVE
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH


3.3、三節點配置
cd /data/usr/rocketmq/bin
vi runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

vi runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m"

4、啓動服務

4.1、啓動 節點 192.168.11.176 broker-master-a 和 broker-slave-b
nohup /data/usr/rocketmq/bin/mqbroker -c /data/usr/rocketmq/conf/2m-2s-async/broker-a.properties > /data/usr/rocketmq_data/logs/mqbroker-a.log 2>&1 &

nohup /data/usr/rocketmq/bin/mqbroker -c /data/usr/rocketmq/conf/2m-2s-async/broker-b-s.properties > /data/usr/rocketmq_data/logs/mqbroker-b-s.log 2>&1 &

4.2、啓動 節點 192.168.11.180 broker-master-b 和 broker-slave-a
nohup /data/usr/rocketmq/bin/mqbroker -c /data/usr/rocketmq/conf/2m-2s-async/broker-b.properties > /data/usr/rocketmq_data/logs/mqbroker-b.log 2>&1 &

nohup /data/usr/rocketmq/bin/mqbroker -c /data/usr/rocketmq/conf/2m-2s-async/broker-a-s.properties > /data/usr/rocketmq_data/logs/mqbroker-a-s.log 2>&1 &

4.3、啓動 節點 192.168.11.182 nameServer
nohup /data/usr/rocketmq/bin/mqnamesrv > /data/usr/rocketmq_data/logs/mqnamesrv.log 2>&1 &

4.5、檢查集羣狀態
查看集羣狀態報錯
./mqadmin clusterlist -n 192.168.11.182:9876
Caused by: org.apache.rocketmq.acl.common.AclException: [10015:signature-fai

參考:https://blog.csdn.net/l18637220680/article/details/95379498

vi tools.sh
JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/lib/ext"

./mqadmin clusterlist -n 192.168.11.182:9876
OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
#Cluster Name #Broker Name #BID #Addr #Version #InTPS(LOAD) #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
Data-Cluster broker-a 0 192.168.11.176:10911 V4_5_0 0.00(0,0ms) 0.00(0,0ms) 0 441994.35 0.0010
Data-Cluster broker-a 1 192.168.11.180:10950 V4_5_0 0.00(0,0ms) 0.00(0,0ms) 0 441994.35 0.0010
Data-Cluster broker-b 0 192.168.11.180:10911 V4_5_0 0.00(0,0ms) 0.00(0,0ms) 0 441994.35 0.0010
Data-Cluster broker-b 1 192.168.11.176:10950 V4_5_0 0.00(0,0ms) 0.00(0,0ms) 0 441994.35 0.0010


4.6、啓動 節點 192.168.11.182 console 控制檯
# cp /data/packages/rocketmq-console-ng-1.0.0.jar /data/usr/rocketmq
# cd /data/usr/rocketmq
# nohup java -jar rocketmq-console-ng-1.0.0.jar --server.port=12581 --rocketmq.config.namesrvAddr=192.168.11.182:9876 >/dev/null 2>&1 &

配置nginx代理控制檯服務
# vi /etc/nginx/nginx.conf
location /rocketmq {
proxy_pass http://192.168.11.182:12581;
proxy_set_header Host $host;
proxy_set_header Referer $http_referer;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $http_x_real_ip;
proxy_read_timeout 300s;
client_max_body_size 1024m;
}

# nginx -s reload

瀏覽器訪問控制檯 http://192.168.11.182/rocketmq

 

參考:
https://blog.csdn.net/momo898821/article/details/105386903

包地址:
https://archive.apache.org/dist/rocketmq/4.5.0/rocketmq-all-4.5.0-bin-release.zip

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章