RocketMQ集群搭建

#RocketMQ集群搭建
换了个新工作,今天架构师突然扔来一个任务,就是搭建消息队列集群,运用的是
rocketmq,因为以前从来没有接触过所以踩了很多坑!

##环境
linux系统 版本CentOS7
rocketmq 4.2.0
jdk 1.8

##工具

因为本着能在本地做的事情,现做了然后一口气传到服务器上所以需要下面两个工具:xftp、xshell。百度随便下载

##正式开始

第一步:下载解压
去官网下载解压rocketmq http://rocketmq.apache.org/docs/quick-start/

第二步:修改配置

集群搭建有多master、多master多slave异步、多master多slave同步
以多master为例,其他几种只是配置不同。

进入解压后文件的conf目录,会看到三个文件夹分别对应双主双从异步(2m-2s-async)、双主双从同步(2m-2s-sync)、双主(2m-noslave),还有几个文件忽略不计

进入2m-noslave,修改broker-a.properties和broker-b.properties,用笔记本或者去网上下个notepad

打开这两个文件忽略注释,能看到下面几个配置,我想说千万不要去百度上拉来特别特别详细的配置,会坑死你!

brokerClusterName=DefaultCluster
#注意两主的name不能一样,如果有从,从要和主的名字一样
brokerName=broker-a
#0表示主,>0表示从
brokerId=0
deleteWhen=04
fileReservedTime=48
#角色SLAVE是从,ASYNC_MASTER异步主配置,YNC_MASTER
brokerRole=ASYNC_MASTER
#一般不用管,上面没有备注的全部是不管
flushDiskType=ASYNC_FLUSH

下面是需要自己添加的配置

#多主多从端口重复的话会启动失败,所以每个配置文件尽量端口不一样
listenPort=10911
#分别是hosts配置的两个服务器,多服务用分号隔开,跟后面的linux设置有关联
namesrvAddr=rocketmq-namesrv1:9876;rocketmq-namesrv2:9876

第三步:JVM调优

如果是真的有多台服务器来做集群的会可以忽略此步,但是如果是虚拟机和搭建伪集群的话还是配置吧!

分别需要修改bin下的runserver.shrunbroker.sh

此行 JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g
这三个参数这么改 Xms1g Xmx1g Xmn512m 分别代表了最小堆内存、最大堆内存、新生代大小

第四步:连接服务器

通过xshell连接服务器,只用配置主机就好其他默认,名称随意改,随后输入帐号密码,有几台服务器你要重复几次,下面几步都一样
这里写图片描述
然后点击用xftp把整个rocketmq文件夹传过去,注意自己放的位置

第五步:修改服务器网络

输入命令vim /etc/hosts 按i添加两台服务器的地址,例:

192.168.0.121 rocketmq-namesrv1
192.168.0.121 rocketmq1
192.168.0.121 rocketmq-namesrv2
192.168.0.121 rocketmq2
地址写你们自己的服务器地址,这里的名字和上面的配置文件要保持一致
esc退出插入模式,shift+: 输入wq保存退出
Service network restart 重新启动网络,另外一台同样操作

还有要确定防火墙是关闭的,CentOS7的话用下面的命令查看
firewall-cmd --state 注意-cmd前面没有空格,如果是no running就是关闭的不是的话执行下面的命令
systemctl stop firewalld.service 这是本次暂停防火墙
systemctl disable firewalld.service 禁止开机启动
init 6 #重启,然后再输入第一条命令查看防火墙状态

第六步:启动mqnamesrv
每个服务器启动一次
cd /usr/local/rocketmq-all-4.2.0-bin-release/bin 这次我的mq存放目录
nohup sh mqnamesrv & 后台启动
每个服务器启动一次

第七步:启动mqbroker
分别启动所有服务器上的broker
nohup sh mqbroker 接上 下面的参数
-c /usr/local/rocketmq-all-4.2.0-bin-release/conf/2m-noslave/a.properties &
参数意思是用哪个配置,第二个服务器就用b

下面是一些查看命令默认是bin目录

sh mqadmin topicList -n 192.168.0.122:9876 查看此服务器上的topic
Sh mqadmin consumerProgress -n 192.168.0.122:9876 -g PushConsumer
不带-g就是查看此服务器上的 group , -g后面就是group具体名字,带上-g就是查看消费情况
更多的命令请看rocketmq的运维手册,这两条必须有东西才算是启动成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值