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