快速入门
这个快速入门指南是给出详细的说明,帮助您在单个本地机器上设置RocketMQ消息系统,并发送/接收第一条消息。
环境条件
假设安装了以下软件:
- 64bit OS, Linux/Unix/Mac;
- 64bit JDK 1.7+;
- Maven 3.2.x
- Git
克隆与构建
> git clone -b develop https://github.com/apache/incubator-rocketmq.git
> cd incubator-rocketmq
> mvn -Prelease-all -DskipTests clean install -U
> cd distribution/target/apache-rocketmq
启动名称服务器(Name Server)
> nohup sh bin/mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
启动代理(Broker)
> nohup sh bin/mqbroker -n localhost:9876 &
> tail -f ~/logs/rocketmqlogs/broker.log
The broker[%s, 172.30.30.233:10911] boot success...
您可能需要注意代理ip,因为代理不会使用回送网络接口,所以你应该确保你已经连接到其他网络。
发送和接收消息
在发送/接收消息之前,我们需要告知客户端名称服务器所在的位置。
RocketMQ提供了多种方法来实现这一点。
为了简单起见,我们使用环境变量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...
关闭服务
> 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
Q.E.D.