RocketMQ 环境搭建

环境:linux(centos) 或 windos; jdk 1.8
场景:rocket入门学习
时间:2023-04-20
吐槽:可能是本人学习能力不足,想使用docker搭建rocketmq 一直失败,可能是我想使用的比较新的 apache/rocketmq:4.9.4 (5.x 架构有所调整,和学习视频有出入所以没有考虑)

一、学习视频推荐

入门:4天学会RocketMQ、【千锋教育】RocketMQ全套视频教程
深入:【尚硅谷】RocketMQ教程

二丶提一下docker 安装 RocketMq

docker搭建文章推荐:

  • 使用docker安装RocketMQ
  • docker安装rocketMQ并测试
  • RocketMq 4.9.4 Windows-docker 部署
  • 使用Docker集群搭建RocketMQ

常见的镜像: rocketmqinc/rocketmq、foxiswho/rocketmq、apache/rocketmq 【前两种已经一年多没更新了】

有几个注意点(虽然没成功,但是也踩坑了):

  1. 使用不同的镜像文件或者不同版本时,日志所在的文件目录不同,目录挂载的时候注意(-v操作)
  2. pangliang/rocketmq-console-ng(rocket web界面)已经过时,并且Topic “主题”栏目没有"ADD/UPDATE"操作;
    RocketMQ 环境搭建_第1张图片

三、手动搭建

前提:JDK 1.8环境已经配置好

参考文章:https://blog.csdn.net/qq_18831023/article/details/105353469、http://zx.lexiangba.net/2689006.html

1.下载文件

地址:https://rocketmq.apache.org/release-notes/
RocketMQ 环境搭建_第2张图片

wget https://dist.apache.org/repos/dist/release/rocketmq/4.9.5/rocketmq-all-4.9.5-bin-release.zip

2.解压并重命名

unzip rocketmq-all-4.9.5-bin-release.zip

mv rocketmq-all-4.9.5-bin-release rocketmq-4.9.5

3.创建nameserver配置(可选操作:修改端口)

# vim nameserver.properties
# 内容(默认端口:9876)
listenPort=20908

4.修改broker配置

# 进入目录
cd rocketmq-4.9.5/conf

# 修改broker配置(更多可参考这篇文章:https://blog.csdn.net/sinat_28809019/article/details/118637628)
vi conf/broker.conf 

# 在后面添加如下内容
#mq集群名称
brokerClusterName=DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName=broker-a
#0表示Master,大于0表示不同的slave
brokerId=0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen=04
#在磁盘上保留消息的时长,单位是小
fileReservedTime=48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示MasterSlave之间同步数据的机制;
brokerRole=ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType=ASYNC_FLUSH

# Broker 对外服务的监听端口(默认端口:10911)
listenPort=20911
# 是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 [默认:false]
autoCreateTopicEnable=true
# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
#autoCreateSubscriptionGroup=true
# 设置broker节点所在服务器的ip地址(正式环节,为了”安全“建议用内网地址; 测试或本地建议使用外网地址,因为本地代码无法连接到阿里云内网)
brokerIP1=127.0.0.1
# 设置注册中心服务地址信息(默认9876,此处我做了更改)
namesrvAddr=127.0.0.1:20908
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
# 文件存储根路径
storePathRootDir=/【改自己目录】/store

5.配置日志目录

此时所在目录:xxx/rocketmq-4.9.5/conf

# 我们需要将conf目录下的三个log的xml文件中的${user.home}统一改为/rocketmq-4.9.5/logs
sed -i 's#${user.home}#/【前置目录(可选)】/rocketmq-4.9.5/logs#g' *.xml

6.启动

  • Linux
# 启动nameservice
nohup sh bin/mqnamesrv -c conf/namesrv.properties > ./logs/namesrv.log  2>&1 &

# 启动broker
nohup sh bin/mqbroker -c conf/2m-2s-async/broker-a.properties > ./logs/broker.log  2>&1 &
  • Windows
# 注意修改配置(否则启动报错)
编辑 runbroker.cmd 文件 (https://blog.csdn.net/ProBaiXiaodi/article/details/127428563%CLASSPATH% 改为 "%CLASSPATH%" (加上双引号)

# 错误信息
找不到或无法加载主类 Files\Java\jdk1.8.0_202\bin;C:\Program

# 命令:
./bin/mqnamesrv.cmd -c conf/namesrv.properties
./bin/mqbroker.cmd -c conf/2m-2s-async/broker-a.properties

7.查看服务启动结果(使用jps命令)

RocketMQ 环境搭建_第3张图片

四、控制面板

项目地址:https://github.com/apache/rocketmq-dashboard.git
注意:master分支针对5.x版本、release-1.0.0分支针对4.9x版本

五、最后

建议使用5.x版本,4.9.7应该是最后版本,将于2024年1月停更。下载地址
RocketMQ 环境搭建_第4张图片

时间2023年6月20日,服务遭遇kdevtmpfsi挖矿病毒攻击。初步推测是mq的锅,有两台搭建4.9.5版本MQ的服务器被攻击,致使服务器CPU爆满,引起宕机,其余几台服务器状态良好。
RocketMQ 环境搭建_第5张图片

你可能感兴趣的:(第三方服务,java-rocketmq,rocketmq,java)