开发者学堂课程【RocketMQ知识精讲与项目实战(第一阶段):集群搭建小结】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/702/detail/12372
集群搭建小结
内容介绍
1.总体架构
2. 集群工作流程
3. 服务器环境
4. Host 添加信息
5. 防火墙配置
6. 环境变量配置
1. 总体架构
2、集群工作流程
(1) 启动 NameServer , NameServer 起来后监听端口,等待
Broker,Producer,Consumer 连上来,相当于一个路由控制中心。
(2) Broker启动,跟所有的 NameSever 保持长连接,定时发送心跳
包,心跳包中包含当前8rcker信息(IP+端口等)以及存储所有 apple 信息,注册成功后, NameServer 集群中就有 Topic 跟 Broker 的映射关系。
(3) 教发消息前,先创建 Topl、,创建 Toplo 时需要指定该 Topic
要存储在哪些 Broker 上,也可以在发送消息时自动创建 Topic。
(4) Producen 发送消息,启动时先跟 NameSevver 集群中的其中一
台建立长连接,并从 NameServer 中获取当前发送的 TOD,这 Broker 上,轮询从队列列表中选择一个队列,然后与队列所在 的Broker 建立长连接从而向 Broker 发消息。
(5) Consumer 跟 Producer 类似,跟其中一台 NameServer 建立长
连接,获取当前订阅 Topic 存在哪些 Broker上,然后直接藏 Broken 建立连接通
道,开始消费消息。
3、服务器环境
序号 |
IP |
角色 |
1 |
192.168.25.135 |
nameserver、brokerserver Master1 % Slave2 |
2 |
192.168.25.138 |
nameserver、brokerserver Master2 % Slave1 |
4、Host添加信息
1 vim/etc/hosts
配置如下:
# nameserver
192, 168, 25, 135 rocketmq- nameserver 1
192.168, 25.138 rocketmq- nameserver 2
#broker
192.168.25, 135 rocketmq-master 1
192, 168, 25, 135 rocketmq-slave 2
192.168.25.138 rocketmq-master 2
192.168.25.138 rocketmq-slavel
配置完成后,重启网卡
5、防火墙配置
宿主机需要远程访问虚拟机的 rocketmq 服务和 web服务,需要开放相关的端口号,简单粗暴的方式是直接关闭防火墙
#关闭防火墙
systemctl stop firewalld. service
# 直看防火墙的状态
firewall-cd--state
#禁止firewall开机启动
systemctl disable firewalld service
或者为了安全,只开放特定的瑞口号,RocketMQ 默认使用3个端口:9876、10911、11011。如果防火墙没有关闭的话,那么防火墙就必须开放这些端口:
l nameserver 默认使用9876端口
l master默认使用10911端口
l ·slave默认使用11011端口
6、环境变量配置
vim/etc/profile
在 profile 文件的末尾加入如下命令
#set rocketmq
ROCKETMQHOME-/usr/local/rocketmq/rocketmq-all-4.4.0-bin-release
PATH=$PATH:$ROCKETMQ HOME/bin
export ROCKETMQ HOMEPATH
输入:wq!保存并退出,并使得配置立刻生效:
source/etc/profile
创建消息存储路径
middir/usr/local/rocketm/store
mkdir/usr/local/rocketmq/store/commitlog
mkdir/usr/local/rocketmq/store/ consumequeue
mkdir/usr/local/rocketmq/store/index
broker配置文件
1)master1
服务器:192.168.25.135
Vi/usr/soft/rocketmp/cont/2m-2s-sync/broker-a.properties
启动配置文件
1)启动 NameServe 集群
分别在192.168.25.135和192.168.25.13
2)启动 NameServer
cd/usr/local/rocketmq/bin
nohup sh mqnamesrv&
在192.168.25.135上启动master 1和 slave 2
master 1:
cd/usr/local/rocketmq/bin
Nohupshmqbroker-c/usr/local/rocketmq/conf/2m-noslave/broker-a. properties &
slave 2:
cd/usr/local/rocketmq/bin
nohupsh mqbroker-c/usr/local/rocketmq/conf/2m-noslave/broker-b-s properties &
在192.168.25.138上启动master 2和slave 2
直接执行命令即可,用 jps 查看
master 2
cd/usr/local/rocketmq/bin
nohupsh mqbroker-c/usr/local/rocketmq/conf/2m-noslave/broker-b. properties &
slave 1
cd/usr/local/rocketmq/bin
nohupshmabroker-c/usr/local/rocketing/conf/2m-noslave/broker-a-s properties &