1.准备环境

  搭建2主2从的异步刷盘的集群,使用conf/2m-2s-async下的配置文件。

    机器          nameserver部署           broker部署

  192.168.19.132          部署

  192.168.19.133          部署            broker-a,broker-b-s

  192.168.19.134          部署            broker-b,broker-a-s

 

2.先配置nameserver

  解压

unzip rocketmq-all-4.9.1-bin-release.zip -d /opt/software/

  配置环境变量:

export ROCKETMQ_HOME=/opt/software/rocketmq-all-4.9.1-bin-release
export PATH=$PATH:$ROCKETMQ_HOME/bin

  source下配置文件

 

  修改runserver.sh的运行内存

 

  运行启动

 

3.配置broker

  先配置133上的broker-a的master的节点

  

 

  修改对应的在134上的从节点,broker-a-s.properties

  

 

  修改第二组,broker-b,在134上

  

 

 

  修改第二组的从节点,在133上

  

  

  注意点:

  1、同一机器上两个实例的store目录不能相同,否则会报错 Lock failed,MQ already started

  2、同一机器上两个实例的listenPort也不能相同。否则会报端口占用的错 nameserver不需要进行配置,直接启动就行。这也看出nameserver是无状态的

 

  启动:

  先修改runbroker.sh中的内存

 

  是注意启动broker时需要通过-c 指定对应 的配置文件。

  现在133上启动broker-a的master节点,和broker-b的slave节点

# nohup ./mqbroker -c ../conf/2m-2s-async/broker-a.properties &
# nohup ./mqbroker -c ../conf/2m-2s-async/broker-b-s.properties &

 

  到134上启动broker-b的master节点和broker-a的slave节点、

# nohup ./mqbroker -c ../conf/2m-2s-async/broker-b.properties &
# nohup ./mqbroker -c ../conf/2m-2s-async/broker-a-s.properties &

 

4.使用tools进行验证

  先配置nameserver,因此官方的代码中没有指定。

export NAMESRV_ADDR='192.168.19.132:9876;192.168.19.133:9876;192.168.19.134:9876'

 

  在134上运行:

# ./tools.sh org.apache.rocketmq.example.quickstart.Consumer

 

  在133上运行:

# ./tools.sh org.apache.rocketmq.example.quickstart.Producer

 

 posted on 2023-09-03 23:33  曹军  阅读(26)  评论(0编辑  收藏  举报