赞
踩
进入apps/svc文件夹下 (三台机器相同操作)
cd /apps/svc
创建对应的文件夹
mkdir rocketmq
mkdir rocketmq/data
#存放消息路径
mkdir rocketmq/data/commitlog
#消费队列存储路径存储路径
mkdir rocketmq/data/consumerqueue
#消息索引存储路径
mkdir rocketmq/data/index
#进入到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
注意:先启动三台机器的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包
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。