Back to Rocketmq

broker.conf

docs/cn/Debug_In_Idea.md

latest2.0 KB
Original Source

本地调试RocketMQ

Step0: 解决依赖问题

  1. 运行前下载RocketMQ需要的maven依赖,可以使用mvn clean install -Dmaven.test.skip=true
  2. 确保本地能够编译通过

Step1: 启动NameServer

  1. NamerServer的启动类在org.apache.rocketmq.namesrv.NamesrvStartup
  2. Idea-Edit Configurations中添加环境变量 ROCKETMQ_HOME=<rocketmq仓库目录>
  3. 运行NameServer,观察到如下日志输出则启动成功
shell
The Name Server boot success. serializeType=JSON, address 0.0.0.0:9876

Step2: 启动Broker

  1. Broker的启动类在org.apache.rocketmq.broker.BrokerStartup
  2. 创建/rocketmq/conf/broker.conf文件或直接在官方release发布包中拷贝即可
shell
# broker.conf

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
namesrvAddr = 127.0.0.1:9876
  1. Idea-Edit Configurations中添加运行参数 -c /Users/xxx/rocketmq/conf/broker.conf 以及环境变量 ROCKETMQ_HOME=<rocketmq仓库目录>
  2. 运行Broker,观察到如下日志则启动成功
shell
The broker[broker-a,192.169.1.2:10911] boot success...

Step3: 发送或消费消息

至此已经完成了RocketMQ的启动,可以使用/example里的示例进行收发消息

补充:本地启动Proxy

  1. RocketMQ5.x支持了Proxy模式,使用LOCAL模式可以免去Step2,启动类在org.apache.rocketmq.proxy.ProxyStartup
  2. Idea-Edit Configurations中添加环境变量 ROCKETMQ_HOME=<rocketmq仓库目录>
  3. /conf/下新建配置文件rmq-proxy.json
json
{
  "rocketMQClusterName": "DefaultCluster",
  "nameSrvAddr": "127.0.0.1:9876",
  "proxyMode": "local"
}
  1. 运行Proxy,观察到如下日志则启动成功
shell
Sat Aug 26 15:29:33 CST 2023 rocketmq-proxy startup successfully