RocketMQ单机环境部署
(熟悉springboot项目的知道application配置文件在哪里,上面的端口自己要查看,我这里nameserver端口自己设置成了70216)由于我们的RocketMQ版本是最新的5.1,而DashBoard是4.9,所以编译的时候会遇到异常,所以。图1(左上):按broker实例为类目(比如说集群中有3个broker实例)展示当前的消息数为1000条。由于RocketMQ默认的启动内存是
文章目录
不太懂RocketMQ基本概念的看我 这篇博客
1. 前置条件
(看我这篇博客,注意版本要改成3.2.*,maven的版本)
- 由于RocketMQ需要java环境,所以需要按照JDK:JDK 8+(看我这篇博客)
- 由于我们需要编译RocketMQ源码,所以需要MAVAN:Maven 3.2.X+
2. 下载源码
官网下载RocketMQ源码,这里我将DashBoard也下载了
创建解压目标文件夹
mkdir /usr/local/rocketMQ
通过FinalShell将源码包上传到虚拟机中(Xshell也可以)
3. 编译源码
进入源码的文件夹
cd rocketmq-all-5.1.0/
编译源码,跳过测试阶段(不跳过可能会报错)
mvn -Prelease-all -DskipTests clean install -U
可以看到我们下载的jar包了
4. Rocket MQ启动JVM参数配置
由于RocketMQ默认的启动内存是4G,而我们的虚拟机的实际内存可能没这么大,所以需要修改启动参数
- 修改nameserve内存
cd bin
vim bin/runbroker.sh
- 修改broker内存
vim runbroker.sh
5. 启动RocketMQ
- 先启动nameserver
#创建日志目录
mkdir logs
#启动nameserver
nohup sh bin/mqnamesrv > logs/mqnamesrv.log 2>&1 &
nohub是后台启动的意思,不用它就是前台启动
- 查看启动日志
tail -f -n 30 logs/mqnamesrv.log
- 启动broker
在 conf 目录下,RocketMQ 提供了多种 Broker 的配置文件:
broker.conf
:单主,异步刷盘。2m/
:双主,异步刷盘。2m-2s-async/
:两主两从,异步复制,异步刷盘。2m-2s-sync/
:两主两从,同步复制,异步刷盘。dledger/
:Dledger 集群,至少三节点。
这里,我们只启动一个 RocketMQ Broker 服务,所以使用 broker.conf 配置文件。命令行操作如下:
nohup sh bin/mqbroker -n localhost:9876 > logs/broker.log 2>&1 &
- 查看日志
tail -f -n 30 logs/broker.log
- 停止服务
停止nameserver
sh bin/mqshutdown namesrv
停止broker
sh bin/mqshutdown broker
6. 安装DashBoard
- 同样到官网下载DashBoard的源码包,放到指定目录下,然后解压
unzip rocketmq-dashboard-1.0.0-source-release.zip
- 进入dashboard的包下
cd rocketmq-dashboard-1.0.0/
包内容如下:
- 修改配置DashBoard的配置文件,配置nameserver地址和端口(端口jps查看)
(熟悉springboot项目的知道application配置文件在哪里,上面的端口自己要查看,我这里nameserver端口自己设置成了70216)
- maven对源码包进行编译
由于我们的RocketMQ版本是最新的5.1,而DashBoard是4.9,所以编译的时候会遇到异常,所以
mvn clean package -Dmaven.test.skip=true
清理项目生产的临时文件,一般是模块下的target目录。同时执行模块安装命令 将打包的的jar/war文件复制到你的本地仓库中,供其他模块使用 -Dmaven.test.skip=true 跳过测试(同时会跳过test compile),而-U强制更新
若出现异常使用下面命令
mvn clean install -U -Dmaven.test.skip=true
target下出现了dashboard打包好的jar包
最后运行jar包就启动DashBoard了
java -jar rocketmq-dashboard-1.0.0.jar
网页访问DashBoard
7. 测试RocketMQ
这个文件bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
模拟了生产者生产消息,下面执行这个文件即可模拟发送消息(在rocketmq文件中)
#"export NAMESRV_ADDR=127.0.0.1:9876" 这个命令用于设置一个名为 "NAMESRV_ADDR" 的环境变量,其值为 "127.0.0.1:9876"。先执行这么命令
export NAMESRV_ADDR=127.0.0.1:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
消费者消费消息
# 设置 Namesrv 服务器的地址
export NAMESRV_ADDR=127.0.0.1:9876
# 执行消费者 Consumer 消费测试消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
9. 查看dashboard情况
- 查看驾驶舱:驾驶舱消息当前数量和最近的趋势,如图左侧为当前消息总数量,右侧为消息数量趋势。
图1(左上):按broker实例为类目(比如说集群中有3个broker实例)展示当前的消息数为1000条
图2(左下):按topic为类目(比如说当前所有broker中存在10个topic)展示当前的消息数
- 查看主题
可以看到消息的Topic都相同,但属于不同的队列中
更多推荐
所有评论(0)