JDK环境
下载地址:
博主下载的是4.7.1版本。source是源码,Binary是可运行程序。
2.配置
server和broker的启动脚本里,给JVM的内存都是几个G,如果机器扛不住,可以修改一下:
runserver.sh,博主改为了:
runbroker.sh,博主改为了:
3.测试
在config/broker.config中添加如下配置:
autoCreateTopicEnable=true #aclEnable=true
启动name server:
nohup bin/mqnamesrv &
启动broker:
nohup bin/mqbroker -c conf/broker.conf &
RocketMQ安装目录下自带一个测试demo,运行后会自动向MQ中插入一千条数据: 首先配置一下环境变量
export NAMESRV_ADDR='localhost:9876'
如果脚本执行失败记得关一下防火墙试试。
然后运行脚本:
bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
4.集群配置
4.1.规划
这里以搭建一个两节点,两主两备的集群为例,展示rocketMq的集群搭建。
集群规划:
ip | nameserver | broker |
192.1688.31.10 | nameserver | broker-a、broker-b-s |
192.1688.31.20 | nameserver | broker-b、broker-a-s |
备注:broker-a-s即broker-a的备份,broker-b-s即broker-b的备份。
4.2.环境准备
在/config目录下会有配置模板,其中提供了两主两从这种模式的配置模板,async表示主从之间是进行异步复制,sync表示主从之间是进行同步复制。这里博主用的是异步复制的模式。
所有节点上先增加hostname便于DNS解析:
vim /etc/hosts
#nameserver
192.168.31.10 rocketmq-nameserver1
192.168.31.20 rocketmq-nameserver2
#broker
192.168.31.10 rocketmq-master1
192.168.31.10 rocketmq-slave2
192.168.31.20 rocketmq-master2
192.168.31.20 rocketmq-slave1
配置后重启网卡:
systemctl restart network
关闭防火墙:
# 关闭防火墙
systemctl stop firewalld.serv