Quick Start
下载 RocketMQ
下载RocketMQ源码版本或者二进制文件(以4.5.1版本为例)
- 如果是源码版,需要进行解压和编译,在运行
> unzip rocketmq-all-4.5.1-source-release.zip
> cd rocketmq-all-4.5.1/
> mvn -Prelease-all -DskipTests clean install -U
> cd distribution/target/apache-rocketmq
- 如果是二进制文件,解压运行即可(推荐方式)
> unzip rocketmq-all-4.5.1-bin-release.zip
> cd rocketmq-all-4.5.1-bin-release/
启动 NameServer
> nohup sh bin/mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log
如果启动过程中打印The Name Server boot success...说明启动NameServer成功
启动 Broker
> nohup sh bin/mqbroker -n localhost:9876 &
> tail -f ~/logs/rocketmqlogs/broker.log
如果启动过程中打印The broker boot success...说明启动Broker成功
发送、接收消息
在发送/接收消息之前,我们需要告诉NameServer的位置在哪里。 目的是通过Name Server再找到Broker。以下有几种方式指定:
客户端寻址方式
- 代码中指定Name Server地址,多个namesrv地址之间用分号分割
producer.setNamesrvAddr("localhost:9876"); consumer.setNamesrvAddr("localhost:9876");- Java启动参数中指定Name Server地址
-Drocketmq.namesrv.addr=localhost:9876- 环境变量指定Name Server地址
> export NAMESRV_ADDR=localhost:9876- HTTP静态服务器寻址
TDB
为了测试,使用第4种方式来寻址:
- 使用环境变量NAMESRV_ADDR
> export NAMESRV_ADDR=localhost:9876- 发送消息
> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer打印:SendResult [sendStatus=SEND_OK, msgId= ...
- 接受消息
> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer打印:ConsumeMessageThread_%d Receive New Messages: [MessageExt...
关闭 Server
> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK
> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK