第一章 RocketMQ安装部署
第二章 RocketMq-console安装使用
第三章 SpringBoot整合RocketMQ
前言
综合上手难度和业务需求,消息中间件 这里考虑使用RocketMQ,当前消息可选 Kafka、RabbitMQ、RocketMQ、Pulsar
一、RabbitMQ下载
版本
RabbitMQ 4.8.0
链接:
https://mirrors.bfsu.edu.cn/apache/rocketmq/4.8.0/
压缩包
rocketmq-all-4.8.0-bin-release.zip
解压
tar -zxvf rocketmq-all-4.8.0-bin-release.zip
二、环境配置
1.环境变量配置
打开环境变量配置文件:
vim /etc/profile
在文件尾部增加:(路径需要改成自己的)
ROCKETMQ_HOME=/home/rocketmq/rocketmq-all-4.8.0-bin-release
PATH=$PATH:$ROCKETMQ_HOME/bin
使文件生效:
source /etc/profile
2.修改rocketmq配置
打开配置文件:
vim rocketmq-all-4.8.0-bin-release/conf/2m-2s-async/broker-a.properties
修改配置文件():
注意末尾的 brokerIP1 =改为自己IP
存储路径也都需要改
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
#deleteWhen=04
#fileReservedTime=48
#brokerRole=ASYNC_MASTER
#flushDiskType=ASYNC_FLUSH
nameServer=127.0.0.1:9876
#在发送消息时自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=false
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=false
#Broker 对外服务的监听端口
listenPort=10911
haListenPort=10912
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=18
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/home/rocketmq/rocketmq-all-4.8.0-bin-release/store
#commitLog 存储路径
storePathCommitLog=/home/rocketmq/rocketmq-all-4.8.0-bin-release/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/home/rocketmq/rocketmq-all-4.8.0-bin-release/consumequeue
#消息索引存储路径
storePathIndex=/home/rocketmq/rocketmq-all-4.8.0-bin-release/index
#checkpoint 文件存储路径
storeCheckpoint=/home/rocketmq/rocketmq-all-4.8.0-bin-release/checkpoint
#abort 文件存储路径
abortFile=/home/rocketmq/rocketmq-all-4.8.0-bin-release/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128
#强制指定本机IP,需要根据每台机器进行修改。官方介绍可为空,系统默认自动识别,但多网卡时IP地址可能读取错误
brokerIP1=实际IP
2.修改启动脚本
内存够用可不改(默认配置4G)
打开配置文件:
vim rocketmq-all-4.8.0-bin-release/bin/runserver.sh
修改使用的内存大小(默认是4G):
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
三、启动服务
实际IP需要改
cd bin
nohup mqnamesrv &
nohup mqbroker -n 实际IP:9876 -c ../conf/2m-2s-sync/broker-a.properties autoCreateTopicEnable=true &
四、停止服务
mqshutdown namesrv
mqshutdown broker
五、查找服务
10911 和 10912 是 对外服务的监听端口
netstat -anp | grep 9876
netstat -anp | grep 10911
netstat -anp | grep 10912