Windows、Linux、Mac安装配置搭建RocketMQ环境

下载RocketMQ

Windows

下载地址:https://dlcdn.apache.org/rocketmq/4.9.3/rocketmq-all-4.9.3-bin-release.zip

Linux && Mac

Linux或Mac可以用命令下载,一般解压放在/usr/local目录下

cd /usr/local
wget https://dlcdn.apache.org/rocketmq/4.9.3/rocketmq-all-4.9.3-bin-release.zip
unzip rocketmq-all-4.9.3-bin-release.zip
mv rocketmq-4.9.3 rocketmq
cd rocketmq

修改配置

修改conf/broker.conf文件,主要添加三点

  • 添加Name Server地址
  • broker地址
  • 对外暴露端口
# 添加Name Server地址,默认为127.0.0.1:9876
namesrvAddr=127.0.0.1:9876
# 对外暴露端口
listenPort=10911
# broker地址
brokerIP1=服务器公网地址

下面是详细的配置列表,后续想添加可以参考:

#暴露的外网IP
brokerIP1=阿里云外网ip

#所属集群名字
brokerClusterName=rocketmq

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

#0 表示 Master,>0 表示 Slave
brokerId=0

#nameServer地址,分号分割
namesrvAddr=阿里云外网ip:9876

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

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

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

#Broker 对外服务的监听端口
listenPort=10911

#删除文件时间点,默认凌晨 4点
deleteWhen=04

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

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

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

#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000

#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88

#commitLog 存储路径
storePathCommitLog=/usr/local/rocketmq/store/broker/commitlog

#消费队列存储路径存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/broker/consumequeue

#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/broker/index

#checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/broker/checkpoint

#abort 文件存储路径
abortFile=/usr/local/rocketmq/store/broker/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

运行与测试

启动 Name Server

  > nohup sh bin/mqnamesrv &
  > tail -f ~/logs/rocketmqlogs/namesrv.log
  The Name Server boot success...

启动 Broker

  > nohup sh bin/mqbroker -n localhost:9876 -c ./conf/broker.conf
  > tail -f ~/logs/rocketmqlogs/broker.log 
  The broker[%s, 172.30.30.233:10911] boot success...

测试发消息和收消息

 > export NAMESRV_ADDR=localhost:9876
 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
 SendResult [sendStatus=SEND_OK, msgId= ...

 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

关闭服务

> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK

> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

使用rocketmq-dashboard

地址:https://github.com/apache/rocketmq-dashboard

下载并配置namesrvAddrs,运行项目即可看到RocketMQ可视化界面

在这里插入图片描述

常见问题

问题一:启动rocketmq服务端出现 failed; error='Cannot allocate memory

解决办法:显示内存不够,可以重启服务器


问题一:org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to xxx.xx.xx.xx:xxx failed

解决办法:确认添加了上面需要的配置


猜你喜欢

转载自blog.csdn.net/m0_46521785/article/details/124373821