Linux环境快速搭建RocketMQ集群模式

1.上传rocketmq-all-4.7.1-bin-release文件夹到 /apps/svc下

进入apps/svc文件夹下      (三台机器相同操作)

cd  /apps/svc

创建对应的文件夹

mkdir rocketmq

mkdir rocketmq/data    

#存放消息路径

mkdir rocketmq/data/commitlog

#消费队列存储路径存储路径

mkdir rocketmq/data/consumerqueue

#消息索引存储路径

mkdir rocketmq/data/index

2.修改rocketmq的配置文件:broker-a.properties  broker-b.properties broker-c.properties

#进入到mq配置文件

cd  /apps/svc/rocketmq-all-4.7.1-bin-release/conf/2m-noslave/

因为有3个master主节点,所以主节点1启动依赖broker-a.properties,主节点2启动依赖broker-b.properties,主节点3启动依赖broker-c.properties (分别对应三台机器

配置文件如下:

#所属集群名字

brokerClusterName=rocketmq-cluster

#broker名字,注意此处不同的配置文件填写的不一样

brokerName=broker-a

#0 表示 Master, >0 表示 Slave

brokerId=0

#nameServer地址,分号分割    注意填写三台机器对应ip  

namesrvAddr=127.0.0.1:9876;127.0.0.1:9876;127.0.0.1:9876

#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数

defaultTopicQueueNums=6

#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭

autoCreateTopicEnable=true

#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭

autoCreateSubscriptionGroup=true

#Broker 对外服务的监听端口

listenPort=10911

#删除文件时间点,默认凌晨 0点

deleteWhen=00

#文件保留时间,默认 48 小时

fileReservedTime=120

#commitLog每个文件的大小默认1G

mapedFileSizeCommitLog=1073741824

#ConsumeQueue每个文件默认存30W条,根据业务情况调整

mapedFileSizeConsumeQueue=300000

#destroyMapedFileIntervalForcibly=120000

#redeleteHangedFileInterval=120000

#检测物理文件磁盘空间

diskMaxUsedSpaceRatio=88

#存储路径

storePathRootDir=/apps/svc/rocketmq/data

#commitLog 存储路径

storePathCommitLog=/apps/svc/rocketmq/data/commitlog

#消费队列存储路径存储路径

storePathConsumeQueue=/apps/svc/rocketmq/data/consumequeue

#消息索引存储路径

storePathIndex=/apps/svc/rocketmq/data/index

#checkpoint 文件存储路径

storeCheckpoint=/apps/svc/rocketmq/data/checkpoint

#abort 文件存储路径

abortFile=/apps/svc/rocketmq/data/abort

#限制的消息大小

maxMessageSize=65536

#flushCommitLogLeastPages=4

#flushConsumeQueueLeastPages=2

#flushCommitLogThoroughInterval=10000

#flushConsumeQueueThoroughInterval=60000

#Broker 的角色

#- ASYNC_MASTER 异步复制Master

#- SYNC_MASTER 同步双写Master

#- SLAVE

brokerRole=ASYNC_MASTER

#刷盘方式

#- ASYNC_FLUSH 异步刷盘

#- SYNC_FLUSH 同步刷盘

flushDiskType=ASYNC_FLUSH

#checkTransactionMessageEnable=false

#发消息线程池数量

#sendMessageThreadPoolNums=128

#拉消息线程池数量

#pullMessageThreadPoolNums=128

3.修改日志配置文件

在apps/svc下创建一个logs目录 (三台机器相同操作)

mkdir /apps/svc/rocketmq/logs

进行日志文件的替换,sed是linux的替换命令。三台机器同样操作

cd /apps/svc/rocketmq-all-4.7.1-bin-release/conf && sed -i 's#${user.home}#/apps/svc/rocketmq#g' *.xml

4.启动三台机器的NameServer和Borker

注意:先启动三台机器的NameServer,再启动三台机器的Borker,

关机的时候顺序相反,先关闭三台机器的Broker,再关闭三台机器的Nameserver。

启动之后在三台机器分别查看是否有NameServer和Borker的进程

执行jps看是否有进程NamesrvStartup和BrokerStartup

进入到mq的bin目录下

cd /apps/svc/rocketmq-all-4.7.1-bin-release/bin

启动三台机器的NameServer

nohup sh mqnamesrv.sh &

注意此处三台机器分别对应broker-a      broker-b     broker-c

nohup sh mqbroker.sh -c /apps/svc/rocketmq-all-4.7.1-bin-release/conf/2m-noslave/broker-a.properties &

5.安装RocketMq控制台

创建mq控制台存放路径(只需在任意一台机器即可)

mkdir /apps/svc/rocketmq_console

上传rocketmq控制台jar包到 /apps/svc/rocketmq_console 该文件夹下

进入控制台文件夹下

cd  /apps/svc/rocketmq_console

执行控制台启动命令

nohup java -jar rocketmq-console-ng-1.0.0.jar --server.port=8888 --rocketmq.config.namesrvAddr=127.0.0.1:9876

注意:rocketmq.config.namesrvAddr后的ip跟的是上边安装的namesrvAddr服务器ip,中间以分号进行分隔

搭建好了rocketmq的console之后,直接在浏览器打开http://ip:8888

在控制台点到Cluster菜单看到有对应的broker-a、broker-b、broker- c,说明rocketmq集群搭建成功

6.添加rocketmq对应的topic

在Topic菜单下点开ADD/UPDATE按钮,把clusterName和BROKER_NAME选项的下拉框的值[broker-a、broker-b、broker- c]全部选上,创建即可

注意:生产环境建议把自动创建Topic关掉,默认如果不在控制台创建的话,会在第一次程序用到某个Topic的时候进行创建,并且只会在其中一个broker上创建Topic,存在单点故障。

7.rocketmq服务关闭

进入bin目录

cd /apps/svc/rocketmq-all-4.7.1-bin-release/bin


关闭namesrv服务:

        sh bin/mqshutdown namesrv
关闭broker服务 :

        sh bin/mqshutdown broker

8.安装包获取

RocketMq官方下载地址:http://rocketmq.apache.org/dowloading/releases/ 

 或者从中间件+RocketMq+集群部署-Java文档类资源-CSDN下载

 该路径下提供的是4.7.1版本包含安装服务端的jar包以及控制台的jar包

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Run,boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值