0、Clone源码
首先从github上下载RocketMQ的源码,GitHub地址为https://github.com/apache/rocketmq 。
如果感觉Clone太慢了,可以参考我的这篇文章如何快速Clone Github的项目。
1、配置环境
代码Clone到本地之后,正常人想的是直接启动NameServer和Broker,然后开始写自己的Producer和Consumer,但是你是启动不了的,因为你没有配置运行的环境变量,并在正确的位置放置配置文件。
下面教你如何启动Nameserver和Broker
18 张图 | 一文带你搭建 RocketMQ 源码调试环境 - 知乎 (zhihu.com)
2、本地IDEA启动RocketMQ Demo
最好配置自动创建Topic的环境变量。
3、引入RocketMQ-Dashboard
分为两种方法,第一种Git Clone源码,本地启动。第二种使用Docker 启动容器。
2、Docker部署rocketmq-dashboard容器
因为我是本地启动的NameServer和Broker,所以一开始我配置的环境变量是
-Drocketmq.namesrv.add=127.0.0.1:9876,启动后一直报错,connet to [127.0..0.1:9876] failed。我想了一会,自己傻了,如果写127.0.0.1应该是容器内部的9876端口,而不是我真实本机的9876端口,所以该配置变量一定要修改为-Drocketmq.namesrv.addr=host.docker.internal:9876。
docker-compose.yml
services:
rmqdashboard:
image: apacherocketmq/rocketmq-dashboard
container_name: rmqdashboard
ports:
- 18080:8080
volumes:
- D:/Temp/mq_path/rocketmq_dashboard/logs:/home/rocketmq/logs
environment:
JAVA_OPTS: "-Drocketmq.namesrv.addr=host.docker.internal:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"