文章目录

  • 1.下载源码
  • 2.配置启动参数
  • 2.1添加NameServer启动类
  • 2.2 配置NameServer启动参数
  • 3.创建运行所需目录和文件
  • 3.1创建文件夹
  • 4.启动NameServer


1.下载源码

git命令下载源码:

git clone git@github.com:apache/rocketmq.git

配置Maven相关环境,使用IDEA打开该源码,并等待加载完成,这一步骤就不详细描述了。

2.配置启动参数

2.1添加NameServer启动类

在打开RocketMQ项目的IDEA中,找到如下图:

idea services怎么使用 idea中server_idea services怎么使用

点击,按照如下图操作,加载NameServer的启动类NamesrvStartup:

idea services怎么使用 idea中server_配置文件_02

idea services怎么使用 idea中server_git_03

然后在该弹出框中选择要运行的模块:

idea services怎么使用 idea中server_git_04

2.2 配置NameServer启动参数

NameServer启动的时候需要一个ROCKETMQ_HOME的环境变量,这个变量的值就是自己想要设置的RocketMQ运行目录了,不要跟下载的RocketMQ源码目录一样,我设置为D:\dev\rocketmq_workspace。可以在操作系统中配置,IDEA会默认加载进去。也可以在IDEA中直接添加:

idea services怎么使用 idea中server_配置文件_05

配置好之后,点击Apply和OK按钮即可,NameServer启动的时候将会使用该变量。
其实在上面的界面中,我们可以给一个类配置很多东西,包括他启动时候的JVM虚拟机的参数(VM options),包括我们要传递给他的main()方法的参数(Program options),这都是很实用的。而我们目前要配置的只是Environment Variables。

3.创建运行所需目录和文件

由于NameServer运行时需要一些固定的目录和文件,我们在上面设置的ROCKETMQ_HOME的目录中按照如下操作

3.1创建文件夹
  • 创建所需目录
    创建conf,logs,store三个文件夹,然后我们把RocketMQ源码目录中的 distrbution\bin 目录下的broker.conflogback_namesvr.xml两个配置文件拷贝到刚才新建的conf目录中去。
  • 修改logback_namesvr.xml文件
    打开之后,将其中的${user.home}全部查找替换为你在上面设置的RocketMQ运行目录就可以了(注意需将反斜杠"“改成正斜杠”/")。
  • 修改broker.conf文件
    打开之后,按照如下配置对应修改即可:
# 以下是原始配置,不必改动
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 这是nameserver的启动地址,broker会基于该nameserver进行通信
namesrvAddr=127.0.0.1:9876
# 这是存储路径,你设置为你的rocketmq运行目录的store子目录
storePathRootDir=D:/dev/rocketmq_workspace/store
# 这是commitLog的存储路径
storePathCommitLog=D:/dev/rocketmq_workspace/store/commitlog
# consume queue文件的存储路径
storePathConsumeQueue=D:/dev/rocketmq_workspace/store/consumequeue
# 消息索引文件的存储路径
storePathIndex=D:/dev/rocketmq_workspace/store/index
# checkpoint文件的存储路径
storeCheckpoint=D:/dev/rocketmq_workspace/store/checkpoint
# abort文件的存储路径
abortFile=D:/dev/rocketmq_workspace/store/abort

4.启动NameServer

按照上面的步骤修改完毕之后,就可以启动NameServer了,右击NamesrvStartup类,执行main方法:

idea services怎么使用 idea中server_idea services怎么使用_06

NameServer会自动查找上面配置的ROCKETMQ_HOME变量,读取conf里的配置文件,所有的日志都会打印在logs目录里,然后数据都会写在store目录里,当执行成功之后,控制台将打印:

The Name Server boot success. serializeType=JSON

以后再运行NameServer的时候,直接去这里进行debug即可:

idea services怎么使用 idea中server_配置文件_07