RocketMQ源码调试环境搭建

序言

之前实习的时候曾阅读过一些RocketMQ(MetaQ)的源码,当时只是debug了客户端代码,没有debug服务端(如:broker)的代码。网上的教程大多是安装教程,前几天赋闲在校,在本机上搭建好了RocketMQ的源码调试环境,也踩了几个坑,下面分享一下:

环境(自己的笔记本,跟了我好几年了,性能快跟不上了)

OS:Win8.1
IDE:intelij idea
内存:6G

步骤

  • 一、安装好jdk
    RocketMQ pom里面的编译版本要求是1.6,所以1.6或以上即可。
    jdk安装步骤这里省略。

  • 二、下载RocketMQ源码包

直接上官网下载最新的版本即可,git clone 或者 从网页上下载zip压缩包。
我这里下载的是最新的版本3.5.8

下载完将其解压即可。

  • 三、设置RocketMQ HOME环境变量

因为我们是直接调试源码,从源码启动,所以不需要运行install.bat来编译源码,直接将环境变量设置为你解压后的目录,
比如我的目录:
RocketMQ源码调试环境搭建_第1张图片
设置一下ROCKETMQ_HOME的环境变量,因为logback的xml配置文件依赖这个环境变量,不设置就会报错。
RocketMQ源码调试环境搭建_第2张图片

  • 四、idea 导入源码

用idea直接导入源码,选择maven项目格式即可,导入后记得配好maven的环境,我这里用的是阿里云的镜像地址,速度非常快:
RocketMQ源码调试环境搭建_第3张图片

觉得自己maven镜像速度慢的可以配一下阿里云的:
RocketMQ源码调试环境搭建_第4张图片

  • 五、配置broker 和 nameserver的启动项
    对于RocketMQ的服务端,主要是启动broker和nameserver两个模块,所以需要配置两个启动项。

点击 “Run->Edit Configuration”
首先配置一个 broker启动环境
RocketMQ源码调试环境搭建_第5张图片
配置好Main函数所在的类。
这里的关键在于VM OPTIONS,也就是虚拟机启动的参数,我们可以去看一看RocketMQ自带的启动参数是什么:

打开bin目录下的mqbroker文件,最下方有如下命令,可以看出broker主要是通过runbroker.sh这个脚本启动的:

再打开runbroker.sh,可以看到一些jvm参数配置:

可以将上面的参数复制到idea中的VM OPTIONS上,其中的堆内存大小配置需要根据自己本机的内存进行调整,否则会报错,我这里分的是1G。broker在启动的时候还需要配置一下main函数的启动参数,指定nameserver的地址和端口。

nameserver除了不用配置启动参数外,和broker配置基本一致,这里就不写了。
下面就是我配完的参数配置
RocketMQ源码调试环境搭建_第6张图片

六、开始调试

上面的准备工作都弄完了,现在可以开始调试了。
分别启动broker 和 nameserver,直接run 相应的配置即可。
RocketMQ源码调试环境搭建_第7张图片

先启动nameserver:

再启动broker:

这个时候就可以自己写客户端代码测试了,测试的时候可以给server代码打log或者直接debug都可以,客户端代码网上有很多我就不放了,本期节目到此结束。

Tips:大家在搭建过程中有问题的可以给我的博客留言或者发我的邮箱 [email protected]

你可能感兴趣的:(消息队列,RocketMQ源码解读)