RocketMQ 2m-2s-async 集群搭建

0. 配置环境变量

echo -e '\nexport ROCKETMQ_HOME=/data/rocketmq\nexport PATH=$ROCKETMQ_HOME/bin:$PATH' >> /etc/profile
source /etc/profile

echo -e '\n192.168.1.1 MQ1\n192.168.1.2 MQ2' >> /etc/hosts

1. JVM 参数调整(根据服务器配置自行调整)

bin/runserver.sh

#JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

bin/runbroker.sh

#JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"

2. 修改日志目录

将 conf 目录下的 logback 文件中的 ${user.home} 改为当前目录「.」

3. 启动 NameServer 集群

# MQ1 和 MQ2 都执行以下命令
mkdir /data/nameserver && cd /data/nameserver && nohup sh $ROCKETMQ_HOME/bin/mqnamesrv &

4. 修改「多Master多Slave模式-异步复制」配置文件

# 2m-2s-async,单个 broker 会占用 listenPort, listenPort - 1, listenPort + 1 三个端口号,单台机器部署多个节点配置端口需要注意避开冲突
# broker-a.properties
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=72
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH

listenPort=10911
namesrvAddr=MQ1:9876;MQ2:9876
storePathRootDir=./store/a-master/
storePathCommitLog=./store/a-master/commitlog/

# broker-a-s.properties
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=72
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH

listenPort=10921
namesrvAddr=MQ1:9876;MQ2:9876
storePathRootDir=./store/a-slave/
storePathCommitLog=./store/a-slave/commitlog/

# broker-b.properties
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=0
deleteWhen=04
fileReservedTime=72
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH

listenPort=10911
namesrvAddr=MQ1:9876;MQ2:9876
storePathRootDir=./store/b-master/
storePathCommitLog=./store/b-master/commitlog/

# broker-b-s.properties
brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=1
deleteWhen=04
fileReservedTime=72
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH

listenPort=10921
namesrvAddr=MQ1:9876;MQ2:9876
storePathRootDir=./store/b-slave/
storePathCommitLog=./store/b-slave/commitlog/

5. 启动 2m-2s-async 集群,复用服务器,需创建多个目录,以防日志等相关文件冲突

# MQ1
mkdir /data/broker-a && cd /data/broker-a && nohup $ROCKETMQ_HOME/bin/mqbroker -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-a.properties &
mkdir /data/broker-b-s && cd /data/broker-b-s && nohup $ROCKETMQ_HOME/bin/mqbroker -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-b-s.properties &

# MQ2
mkdir /data/broker-b && cd /data/broker-b && nohup $ROCKETMQ_HOME/bin/mqbroker -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-b.properties &
mkdir /data/broker-a-s && cd /data/broker-a-s && nohup $ROCKETMQ_HOME/bin/mqbroker -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-a-s.properties &
posted @ 2022-05-12 09:48  牧码的羊  阅读(261)  评论(0编辑  收藏  举报