1.各角色介绍
Producer:消息的发送者。举例:发信者
Consumer:消息的接收者。举例:收信者
Broker:暂存和传输消息。举例:邮局
NameServer:管理Broker。举例:各个邮局的管理机构(有点类似微服务的注册中心)
Topic:区分消息的种类。一个发送者可以发送消息给一个或多个Topic;一个消息的接收者可以订阅一个或者多个Topic消息
Message Queue:相当于Topic的分区,用去并行发送和接收消息
2.服务器环境
序号 | IP | 角色 | 架构模式 |
1 | 192.168.100.128 | nameserver brokerserver | Master1.Slave2 |
2 | 192.168.100.129 | nameserver brokerserver | Master2.Slave1 |
3.Host添加信息
vim /etc/hosts
配置如下:
# nameserver 192.168.100.128 rocketmq-nameserver1 192.168.100.129 rocketmq-nameserver2 # broker 192.168.100.128 rocketmq-master1 192.168.100.128 rocketmq-slave2 192.168.100.129 rocketmq-master2 192.168.100.129 rocketmq-slave1
重启网卡
systemctl restart network
4.防火墙配置
防火墙配置有两种方式
1.直接简单粗暴关闭防火墙(测试用)
# 关闭防火墙 systemctl stop firewalld.service # 查看防火墙状态 firewall-cmd --state # 禁止防火墙开机启动 systemctl disable firewalld.service
2.为了安全起见只开放特定的端口号,RocketMQ默认使用3个端口:9876、10911、11011。如果防火墙没有关闭的话必须开放下面的端口(生产用)
nameserver 默认使用9876
master 默认使用10911
slave 默认使用11011
# 开放name server默认端口 firewalld-cmd --remove-port=9876/tcp --permanent # 开放master默认端口 firewalld-cmd --remove-port=10911/tcp --permanent # 开放slave默认端口 firewalld-cmd --remove-port=11011/tcp --permanent # 重启防火墙 firewall-cmd --reload
5.设置环境变量,并执行
# set rocketmq export ROCKET_HOME=/usr/local/rocketmq/rocketmq-all-4.8.0-bin-release export PATH=$PATH:$ROCKET_HOME/bin
6.创建消息存储路径
mkdir /usr/local/rocketmq/store mkdir /usr/local/rocketmq/store/commitlog mkdir /usr/local/rocketmq/store/consumequeue mkdir /usr/local/rocketmq/store/index