环境介绍:
rocket-4.7.1
maven-3.5.4
1. 源码下载
方式一:git clone
https://github.com/apache/rocketmq/tree/release-4.7.1
方式二:
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/rocketmq-all-4.7.1-source-release.zip
2. 源码编译
导入到IDEA中,执行:
mvn clean install -Dmaven.test.skip=true
遇到rmq_checkstyle.xml的错误,在根目录下的POM.xml中注释以下代码
<!-- <plugin>-->
<!-- <artifactId>maven-checkstyle-plugin</artifactId>-->
<!-- <version>2.17</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>verify</id>-->
<!-- <phase>verify</phase>-->
<!-- <configuration>-->
<!-- <configLocation>style/rmq_checkstyle.xml</configLocation>-->
<!-- <encoding>UTF-8</encoding>-->
<!-- <consoleOutput>true</consoleOutput>-->
<!-- <failsOnError>true</failsOnError>-->
<!-- <includeTestSourceDirectory>false</includeTestSourceDirectory>-->
<!-- </configuration>-->
<!-- <goals>-->
<!-- <goal>check</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
3. 准备配置文件
复制以下文件到:根目录\conf --新建目录
根目录\distribution\conf\broker.conf
根目录\distribution\conf\logback_broker.xml
根目录\distribution\conf\logback_namesrv.xml
根目录\distribution\conf\logback_tools.xml
4. 启动Name Server:
直接运行:
org.apache.rocketmq.namesrv.NamesrvStartup#main
遇到如下错误:
Please set the ROCKETMQ_HOME variable in your environment to match the location of the RocketMQ installation
设置ROCKETMQ_HOME 环境变量:rocket源码的目录
方式一:设置系统环境变量
方式二:在IDEA运行界面中,设置Environment variables:
启动成功:
The Name Server boot success. serializeType=JSON
5. 启动Broker:
- 修改conf\broker.conf
# 自动创建Topic
autoCreateTopicEnable=true
# nameServ地址
namesrvAddr=127.0.0.1:9876
# 存储路径
storePathRootDir=D:\\rocketmq\\data
# commitLog路径
storePathCommitLog=D:\\rocketmq\\data\\commitlog
# 消息队列存储路径
storePathConsumeQueue=D:\\rocketmq\\data\\consumequeue
# 消息索引存储路径
storePathIndex=D:\\rocketmq\\data\\index
# checkpoint文件路径
storeCheckpoint=D:\\rocketmq\\data\\checkpoint
# abort文件存储路径
abortFile=D:\\rocketmq\\data\\abort
-
运行指定配置文件
Program Arguments:
-c D:\IdeaProjects\rocketmq-all-4.7.1-source-release\conf\broker.confROCKET_HOME的环境变量:
同上
运行:org.apache.rocketmq.broker.BrokerStartup#main
运行成功:
The broker[broker-a, 192.168.1.103:10911] boot success. serializeType=JSON and name server is 127.0.0.1:9876
6. 验证:
运行examples下的示例,即可:
添加NAMESRV_ADDR:
方式一:添加环境变量
方式二:在Producer,Consumer中添加代码
producer.setNamesrvAddr("127.0.0.1:9876");
consumer.setNamesrvAddr("127.0.0.1:9876");
org.apache.rocketmq.example.quickstart.Consumer
org.apache.rocketmq.example.quickstart.Producer