RocketMQ分布式消息中间件:核心原理与最佳实践(博文视点出品)京东自营
优惠价:¥78.8
下载源码
源码地址:github.com/apache/rock…
我们先把RocketMQ
源码下载下来,为了方便一点,建议小伙伴先fork到自己的仓库,然后再通过git拉下来。
导入idea
我们通过idea把下载的源码导入:
有任何报红或者错误先不用管。
代码编译
不要直接打开namesrv
找到main
函数就运行,这样是跑不起来的,会产生以下错误:
我们找到源码所在的本地目录,或者直接在项目中打开Terminal
:
首先执行java -version
检查安装的java版本,建议该版本不能超过java 11,测试下来java 17是编译不了的。
如果版本没问题的话,执行mvn clean install -DskipTests
编译该项目。
编译成功后,结果如下:
运行namesrv
设置ROCKETMQ_HOME
在启动namesrv
之前,我们要先设置以下对应的环境变量ROCKETMQ_HOME
,这个变量可以直接在启动配置里面设置。namesrv
在启动的时候就会去ROCKETMQ_HOME/conf
里面去找相应的配置,比如logback_namesrv.xml
。
- 添加
logback_namesrv.xml
- 我们拉下来的项目中已经有现成的
logback_namesrv.xml
,所以我们只需要拷贝一下。从distribution/conf
里面就可以找到logback_namesrv.xml
,直接拷贝到我们指定的ROCKETMQ_HOME/conf
路径中。
启动
直接在idea中点击run
或者debug
启动namesrv
服务。
启动broker
设置环境变量ROCKETMQ_HOME
和配置文件
同样的我们需要设置环境变量ROCKETMQ_HOME
,目的和namesrv
一样,是为了读取日志配置文件;另一个-c xx/xx/broker.conf
是为了指定服务的配置文件。
配置文件
我们的broker启动需要两个配置文件,一个是日志配置文件logback_broker.xml
,一个是broker.conf
配置。这两个配置文件我们都可以从项目中的distribution/conf
中找到,我们把找到的两个文件放到指定的路径下。broker.conf
文件需要做一些简单的修改: