Rocketmq集群搭建
双主双从集群结构
准备2台centos8 虚拟机,并关闭防火墙(后者开放端口)
192.168.66.139 , 192.168.66.140
集群结构 :
192.168.66.139 : broker-a-master / broker-b-slave
192.168.66.140 : broker-b-master / broker-a-slave
下载安装rocketmq,配置环境变量(两台设备均设置)
1、地址 : https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip
2、配置环境变量,在 /etc/profile文件中添加如下:
export ROCKETMQ_HOME=/opt/softs/rocketmq/rocketmq47
export PATH=$PATH:$ROCKETMQ_HOME/bin
修改默认配置,以适应虚拟机环境,在${ROCKETMQ_HOME}/bin中修改 runbroker.sh和 runserver.sh (两台设备均设置)
1、修改runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
--->
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
2、修改runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
--->
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
创建各 rocketmq节点存储目录(无论 master,slave,都要单独存储)
192.168.66.139 :
broker-a-master节点存储目录:
store-am
store-am/commitlog
store-am/consumequeue
store-am/index
store-am/checkpoint
store-am/abort
broker-b-slave节点存储目录:
store-bs
store-bs/commitlog
store-bs/consumequeue
store-bs/index
store-bs/checkpoint
store-bs/abort
192.168.66.140 :
broker-b-master节点存储目录:
store-bm
store-bm/commitlog
store-bm/consumequeue
store-bm/index
store-bm/checkpoint
store-bm/abort
broker-a-slave节点存储目录:
store-as
store-as/commitlog
store-as/consumequeue
store-as/index
store-as/checkpoint
store-as/abort
创建各 rocketmq 节点的配置文件
192.168.66.139 :
broker-a-master配置文件:(broker-a.properties)
brokerClusterName=my-rocketmq-cluster
brokerName=broker-a
brokerId=0
brokerIP1=192.168.66.139
namesrvAddr=192.168.66.139:9876;192.168.66.140:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/opt/softs/rocketmq/rocketmq47/store-am
storePathCommitLog=/usr/local/rocketmq/opt/softs/rocketmq/rocketmq47/store-am/commitlog
storePathConsumeQueue=/opt/softs/rocketmq/rocketmq47/store-am/consumequeue
storePathIndex=/opt/softs/rocketmq/rocketmq47/store-am/index
storeCheckpoint=/opt/softs/rocketmq/rocketmq47/store-am/checkpoint
abortFile=/opt/softs/rocketmq/rocketmq47/store-am/abort
maxMessageSize=65536
brokerRole=SYNC_MASTER
flushDiskType=SYNC_FLUSH
broker-b-slave配置文件:(broker-b-s.properties)
brokerClusterName=my-rocketmq-cluster
brokerName=broker-b
brokerId=0
brokerIP1=192.168.66.139
namesrvAddr=192.168.66.139:9876;192.168.66.140:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/opt/softs/rocketmq/rocketmq47/store-bs
storePathCommitLog=/opt/softs/rocketmq/rocketmq47/store-bs/commitlog
storePathConsumeQueue=/opt/softs/rocketmq/rocketmq47/store-bs/consumequeue
storePathIndex=/opt/softs/rocketmq/rocketmq47/store-bs/index
storeCheckpoint=/opt/softs/rocketmq/rocketmq47/store-bs/checkpoint
abortFile=/opt/softs/rocketmq/rocketmq47/store-bs/abort
maxMessageSize=65536
brokerRole=SYNC_MASTER
flushDiskType=SYNC_FLUSH
192.168.66.140 :
broker-b-master配置文件:(broker-b.properties)
brokerClusterName=my-rocketmq-cluster
brokerName=broker-b
brokerId=0
brokerIP1=192.168.66.140
namesrvAddr=192.168.66.139:9876;192.168.66.140:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/opt/softs/rocketmq/rocketmq47/store-bm
storePathCommitLog=/opt/softs/rocketmq/rocketmq47/store-bm/commitlog
storePathConsumeQueue=/opt/softs/rocketmq/rocketmq47/store-bm/consumequeue
storePathIndex=/opt/softs/rocketmq/rocketmq47/store-bm/index
storeCheckpoint=/opt/softs/rocketmq/rocketmq47/store-bm/checkpoint
abortFile=/opt/softs/rocketmq/rocketmq47/store-bm/abort
maxMessageSize=65536
brokerRole=SYNC_MASTER
flushDiskType=SYNC_FLUSH
broker-a-slave配置文件:(broker-a-s.properties)
brokerClusterName=my-rocketmq-cluster
brokerName=broker-a
brokerId=1
brokerIP1=192.168.66.140
namesrvAddr=192.168.66.139:9876;192.168.66.140:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=11011
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/opt/softs/rocketmq/rocketmq47/store-as
storePathCommitLog=/opt/softs/rocketmq/rocketmq47/store-as/commitlog
storePathConsumeQueue=/opt/softs/rocketmq/rocketmq47/store-as/consumequeue
storePathIndex=/opt/softs/rocketmq/rocketmq47/store-as/index
storeCheckpoint=/opt/softs/rocketmq/rocketmq47/store-as/checkpoint
abortFile=/opt/softs/rocketmq/rocketmq47/store-as/abort
maxMessageSize=65536
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
启动服务
1、在2台虚拟机上分别启动mqnamesrv: nohup sh mqnamesrv >/dev/null 2>&1 &
2、在192.168.66.139 启动 a-master和 b-slave:
nohup sh mqbroker -c /opt/softs/rocketmq/rocketmq47/conf/2m-2s-sync/broker-a.properties >/dev/null 2>&1 &
nohup sh mqbroker -c /opt/softs/rocketmq/rocketmq47/conf/2m-2s-sync/broker-b-s.properties >/dev/null 2>&1 &
3、在192.168.66.140 启动 b-master和 a-slave:
nohup sh mqbroker -c /opt/softs/rocketmq/rocketmq47/conf/2m-2s-sync/broker-b.properties >/dev/null 2>&1 &
nohup sh mqbroker -c /opt/softs/rocketmq/rocketmq47/conf/2m-2s-sync/broker-a-s.properties >/dev/null 2>&1 &
搭建监控平台
1、git 拉取 :git clone https://github.com/apache/rocketmq-externals.git
2、cd rocketmq-console
3、修改rocketmq-console 中 src/main/resources/application.properties:
rocketmq.config.namesrvAddr=192.168.66.139:9876;192.168.66.140:9876
4、编译rocketmq-console : mvn clean package -Dmaven.test.skip=true
5、运行编译后的jar : java -jar rocketmq-console-ng-2.0.0.jar
6、访问 localhost:8080
转载请注明原文地址:https://blackberry.8miu.com/read-7521.html