RocketMQ(双主双从集群搭建+DashBorad搭建)

RocketMQ(双主双从集群搭建+DashBorad搭建)

1 环境准备

1.1 两台虚拟机

在这里插入图片描述
先准备两台虚拟机,我这里使用的是一台阿里云的服务器,一台腾讯云的服务器将rocketMQ进行安装解压,不会的朋友可以参考之前的文章RocketMq的安装
我们会在这两台服务器上分别部署 master1,slave2和master2,slave1 交叉部署,当然条件允许的可以部署到四台机器上去。
注意: 将RocketMQ的JVM运行内存调小一点。

1.2 配置环境变量

配置下环境变量,就不用跑到rocketMQ的bin目录下去执行命令了

ROCKETMQ_HOME=/home/xzq/software/rocketmq-4.9.2
PATH=$PATH:$ROCKETMQ_HOME/bin
export ROCKETMQ_HOME PATH

1.3 修改Host

方便修改配置文件

#nameserver
127.0.0.1 rocketmq-nameserver1
127.0.0.2 rocketmq-nameserver2
#broker
127.0.0.1 rocketmq-master1
127.0.0.2 rocketmq-master2
127.0.0.2 rocketmq-slave2
127.0.0.1 rocketmq-slave2

1.4 创建存储位置

#Master 存储位置路径 
mkdir /home/xzq/software/rocketmq-4.9.2/store;
mkdir /home/xzq/software/rocketmq-4.9.2/store/commitlog;
mkdir /home/xzq/software/rocketmq-4.9.2/store/consumequeue;
mkdir /home/xzq/software/rocketmq-4.9.2/store/index;
mkdir /home/xzq/software/rocketmq-4.9.2/store/checkpoint;
mkdir /home/xzq/software/rocketmq-4.9.2/store/abort;

#Slave 存储位置路径 
mkdir /home/xzq/software/rocketmq-4.9.2/store-s;
mkdir /home/xzq/software/rocketmq-4.9.2/store-s/commitlog;
mkdir /home/xzq/software/rocketmq-4.9.2/store-s/consumequeue;
mkdir /home/xzq/software/rocketmq-4.9.2/store-s/index;
mkdir /home/xzq/software/rocketmq-4.9.2/store-s/checkpoint;
mkdir /home/xzq/software/rocketmq-4.9.2/store-s/abort;

注意: Master和Slave配置文件中的存储位置不能相同,否则会启动失败。一定要分别创建各自的存储位置。

1.5 配置文件修改

我们要部署四台RocketMQ,也就是要写四份配置文件
RocketMQ已经准备好了双主双从配置文件的模板
在这里插入图片描述
我们在这里先搭建 双主双从的同步版本
其中 borker-a ,broker-b 表示部署的两台Master,broker-a-s,broker-b-s表示部署的两台Slave
这里那broker-b的配置文件来说
在这里插入图片描述
红框标注的是我们需要手动改的地方,其他的暂时先不用管。
这里面我们要注意 这四个RocketMQ的集群名称需要相等,每个主从组之间的brokerName相同
brokerId=0表示Master,>0表示Slave。其他的看注释

这里已经上传到了我的网盘中需要的可以下载RocketMQ双主双从配置文件

1.6 IP配置

Broker启动时会将自身注册到nameserver上,Producer和consumer从namesrv上拉取broker的信息。
我的两台服务器都是云服务器,有着内网地址和外网地址
所以我在部署的时候发生了一个问题:
我的集群搭建完毕之后,Producer从namesrv上拉下来的Broker地址是内网地址
所以我们要指定broker注册时使用哪一个IP
在配置文件中增加:

# 当前broker监听的IP
brokerIP1=127.0.0.1
# 存在broker主从时,在broker主节点上配置了brokerIP2的话,broker从节点会连接主节点配置的brokerIP2来同步。
brokerIP2=127.0.0.1

Master需要配置IP1,IP2 ,Slave只需要配置IP1就行

2 启动

前面已经配置过了环境变量,这里就不需要在进入rocketMQ的bin目录

2.1 启动namesrv集群

分别在两个服务器执行命令

nohup mqnamesrv &

在这里插入图片描述
jps查看启动成功

2.2 启动broker集群

服务器A启动 broker-a 与broker-b-s

nohup mqbroker -c /home/xzq/software/rocketmq-4.9.2/conf/2m-2s-sync/broker-a.properties &

nohup mqbroker -c /home/xzq/software/rocketmq-4.9.2/conf/2m-2s-sync/broker-b-s.properties &

服务器B启动 broker-b 与broker-a-s

nohup mqbroker -c /home/xzq/software/rocketmq-4.9.2/conf/2m-2s-sync/broker-b.properties &

nohup mqbroker -c /home/xzq/software/rocketmq-4.9.2/conf/2m-2s-sync/broker-a-s.properties &

jps查看是否启动成功
在这里插入图片描述
可以看到一台namesrv和两台broker已经启动完毕请添加图片描述

3 DashBorad的使用

之前不叫RocketMQ-DashBorad 而是在Rocket的扩展包中叫console项目,现在已经独立出来成DashBorad项目
Github地址
将源码下载下来
在这里插入图片描述

3.1 修改配置信息

在这里插入图片描述

主要就是修改namesrv
然后还有一处地方,DashBorad的通道走那个,我这里不走vip通道,所以设置了false
这里需要注意一下
如果是自己本地的虚拟机 防火墙可以直接关闭
如果是云服务器需要放开那些端口呢?
namesrv 9876 (默认端口)
broker-master 10911(默认端口)
broker-slave 11011(默认端口)
broker-channel 10912(默认端口)
broker-VipChannel 10909 (默认端口)

3.2 Maven打包

执行命令

mvn clean package -D maven.test.skip=true

在这里插入图片描述
但是却看到失败了
这个是前端的东西,大概意思就是下载前端的依赖包,反正就是在Maven打包的时候执行yarn install命令失败。
那我们就手动将这个命令执行一下,并将pom文件中配置的yarn install注释掉

首先在frontend文件夹下
执行 yarn install
在这里插入图片描述
注释POM文件

在这里插入图片描述
继续执行打包命令
在这里插入图片描述
成功,然后就仍在你的服务器上启动就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值