RocketMQ集群搭建 和 多种启动模式

本文详细介绍了如何使用脚本批量部署RocketMQ到多台目标机器,包括单节点、多Master模式以及同步和异步复制的双Master双Slave模式。涉及脚本创建、文件拷贝、环境变量设置、服务启动与监控,以及各种模式的优缺点分析。
摘要由CSDN通过智能技术生成

拷贝脚本 (主要改第五个地方就行配合自己的主机名来) 脚本 + 目标地址

目标机器需要有对应目录才可以拷贝 脚本执行 记得给权限 chmod 777 脚本名

# 创建一个脚本(自己留意创建的地址我放在了/home下)
vim  MyCopy 
# 给脚本权限 
chmod 777 MyCopy
# 复制以下代码到MyCopy中就行
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=100; host<103; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

在这里插入图片描述

1.复制当前机器jdk到目标机器 (只要jdk1.8就行我之前自己搞大数据环境配置了)

在这里插入图片描述

2.拷贝RocketMQ到目标机器(同上)在这里插入图片描述

# 自己脚本地址 和 当前安装rocketmq的地址拷贝就行 不超过看看上面脚本说明
/home/Mycopy /opt/module/rocketmq-all-4.5.1/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QM0bpZ1J-1644475088929)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220208171356130.png)]

3.拷贝环境变量(因为我的环境变量本机跟其他机器的jdk存放位置不同我就不直接拷贝过去了)

新环境直接

# 拷贝 环境
/home/MyCopy /etc/profile 
# 环境刷新
source /etc/profile
# 测试 去其他机器上测试 mq tab 有一堆东西出来就成功了 参考下图
mq + tab

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tuEB8k5j-1644475088930)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220208171746143.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8LkA9WCx-1644475088930)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220208172147711.png)]

4.单节点模式

# 启动 mqnamesrv (后台启动)
nohup mqnamesrv &

# 启动 broker (指定地址和端口号 后台启动)
nohup mqbroker -n localhost:9876 &
# 查看启动是否成功
 tail -f ~/logs/rocketmqlogs/namesrv.log 
 tail -f ~/logs/rocketmqlogs/broker.log 

在这里插入图片描述

在这里插入图片描述

# 查看启动状态 帮助指令
mqadmin
# 查看节点状态
mqadmin help brokerStatus
mqadmin brokerStatus -n localhost:9876
-b,——brokerAddr <arg>代理地址
-c,——clusterName <arg> which cluster
- h,帮助                 打印帮助
-n,——namesrvAddr <arg>名称服务器地址列表,如:192.168.0.1:9876;192.168.0.2:9876

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QWOfkrAD-1644475088932)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220209095707729.png)]

5.测试

# 添加一个消息  和其他的可以自己测试很容易看懂(消息列队得有 mqadmin up啥的自己创建)
 mqadmin updateTopic -b localhost:10911 -t demo_test_02 -r 2 -w 2
# 查看当前消息状态
 mqadmin topicStatus -n localhost:9876 -t demo_test_02

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BC6gYrgN-1644475088946)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220210092318801.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lxmcxu2A-1644475088947)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220210092152294.png)]

6.多master模式

# 关闭之前的单节点
mqshutdown namesrv
mqshutdown broker 
# 同步命令到指定的目录下测试(根据自己使用的工具来)
cd /opt/module/rocketmq-all-4.5.1
# 启动mqnamesrv
nohup mqnamesrv &
# 查看是否启动成功
tail -f ~/logs/rocketmqlogs/namesrv.log

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UwlxN6la-1644475088947)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220209133233692.png)]

启动成功如下 多台启虚拟机启动了namesrv

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qSoCDX3Q-1644475088950)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220210092826731.png)]

启动 broker集群

# -n 指定namesrv服务 一个就写一个多个用; 区分后加'' (开启后另外开三个新的机子窗口 jps看就可以了)
nohup mqbroker -n 'hadoop100:9876;hadoop101:9876;hadoop102:9876' -c $ROCEKET_HOME/conf/2m-noslave/broker-a.properties
# 最后查是否成功	
 tail -f ~/logs/rocketmqlogs/broker.log 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LnVXfjvn-1644475088952)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220209140928154.png)]

# 不玩了就可以把生成的文件都删了 
 rm -rf 
# 测试
mqadmin statsAll -n 'hadoop100:9876;hadoop101:9876;hadoop102:9876'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Si6tpQFq-1644475088953)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220209141211600.png)]

可删可不删
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

7.多Master和Slave模式异步复制

# 到rocket安装目录
cd /opt/module/rocketmq-all-4.5.1/
# 老规矩先启动 namesrv(同步以下命令)
 nohup mqnamesrv &

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ctv2BUon-1644475088956)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220209155910652.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bgWGArYk-1644475088956)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220209160003535.png)]

# 启动broker (双主双从) 我这里就不通过tail查看日志是否启动成功了
nohup mqbroker -n hadoop100:9876 /opt/module/rocketmq-all-4.5.1/conf/2m-2s-async/broker-a.properties 
# 启动broker(我三台虚拟机所以我一台机子上开了两个)
nohup mqbroker -n hadoop101:9876 /opt/module/rocketmq-all-4.5.1/conf/2m-2s-async/broker-a-s.properties
nohup mqbroker -n hadoop101:9876 /opt/module/rocketmq-all-4.5.1/conf/2m-2s-async/broker-b.properties
# 另一台启动
nohup mqbroker -n hadoop101:9876 /opt/module/rocketmq-all-4.5.1/conf/2m-2s-async/broker-b-s.properties

# 测试(broker默认端口号10911)添加一个新的消息主题
mqadmin updateTopic -b hadoop101:10911 -t ssss -r 2 -w 2
# 查看消息信息
mqadmin topicStatus -n hadoop101:9876  -t ssss

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bvcIUq0a-1644475088957)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220210134333853.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SU6lOO7z-1644475088957)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220210134302341.png)]

优点:
性能 略低于 多Master模式  Master宕机salve依然可以消费
缺点:
磁盘损坏丢失 发送但没有消费的信息

8.跟上面一样不过是同步双写模式

# 老规矩先启动 namesrv(同步以下命令)
 nohup mqnamesrv &
# 跟上面一样不过是启动另一个脚本
# /opt/module/rocketmq-all-4.5.1/conf/2m-2s-sync/broker-a.properties
# 启动broker (双主双从) 我这里就不通过tail查看日志是否启动成功了
nohup mqbroker -n hadoop100:9876 /opt/module/rocketmq-all-4.5.1/conf/2m-2s-sync/broker-a.properties 
# 启动broker(我三台虚拟机所以我一台机子上开了两个)
nohup mqbroker -n hadoop101:9876 /opt/module/rocketmq-all-4.5.1/conf/2m-2s-sync/broker-a-s.properties
nohup mqbroker -n hadoop101:9876 /opt/module/rocketmq-all-4.5.1/conf/2m-2s-sync/broker-b.properties
# 另一台启动
nohup mqbroker -n hadoop101:9876 /opt/module/rocketmq-all-4.5.1/conf/2m-2s-sync/broker-b-s.properties
优点:
1. 数据和服务都没有单点故障
2. 当Master主机宕机,消息的消费不会延迟。
3. 服务和数据的高可用。
缺点:
1. 该模式的性能比异步复制的模式低10%左右。
2. 发送消息的延迟稍微高一点。
3. 当前版本中,如果Master节点宕机,Slave节点不能自动切换为Master模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值