官网下载源码
建议到官网去下载,本文使用的rocket的版本是基于4.7.1,点击这里开始下载
导入idea
rocketMQ是以maven的形式进行构建的,因此直接使用ideaopen打开即可,目录结构如下
rocketMQ工作目录
在电脑任意一个地方建立一个名称为rocketmq的目录,在其中分别建立conf、store、logs三个目录,并且将下载的源码的distribution目录中的conf目录下的broker.conf、logback_namesrv.xml、logback_broker.xml复制到conf目录下;为了将日志也存储到指定的rocketmq_home
下的logs目录,还需要修改一下两个logback.xml
文件,在两个日志中各添加一项配置,在<configuration>
标签下的第一行添加如下配置,用来覆盖系统变量值。
<property name="user.home" value="C:\commonApps\rocketmq"/>
修改broker.conf的内如下:
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
# 添加此项,broker连接到本地的namesrv上
namesrvAddr = 127.0.0.1:9876
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
###########################################添加以下配置,路径请修改为自己的正确路径
# 配置存储位置
storePathRootDir = C:\\commonApps\\rocketmq\\store
# commitlog 存储路径
storePathCommitLog = C:\\commonApps\\rocketmq\\store\\commitlog
# 消费队列存储路径
storePathConsumeQueue = C:\\commonApps\\rocketmq\\store\\commitlog\\store\\consumequeue
# 消息索引存储路径
storePathIndex = C:\\commonApps\\rocketmq\\store\\index
# checkpoint文件存储路径
storeCheckPoint = C:\\commonApps\\rocketmq\\store\\checkpoint
# abort文件存储路径
abortFile = C:\\commonApps\\rocketmq\\store\\abort
启动Namesrv
找到启动类NamesrvStartup,先启动一下配置类,此时是起不来的,然后再启动配置中加入:
Environment varibles的值为:
ROCKETMQ_HOME=C:\commonApps\rocketmq
具体入下图所示
再次启动就可以成功启动了,注意 Namesrv
的默认启动端口是9876
。
启动Broker
配置Broker
的启动类,添加一个启动参数指定配置文件启动,参数是:
-c c:\\commonApps\\rocketmq\\conf\\broker.conf
指定rocket的环境变量ROCKETMQ_HOME为:
ROCKETMQ_HOME=C:\commonApps\rocketmq
具体配置入下图:
先启动Namesrv就可以启动Broker了
测试生产者和消费者
动好Namesrv
和Broker
模块以后,进入到example
模块中,找到org.apache.rocketmq.example.quickstart
包,里面已经有了两个类,分别是Producer
和Consumer
,在两个类中分别设置一下Namesrv
地址,如下所示:
注意:需要将producer和consumer的分别设置NamesrvAddr为“127.0.0.1:9876”,即namesrv的地址。
然后就可以正常的发送消息与消费消息了