# Quick Start

# 下载 RocketMQ

下载RocketMQ源码版本或者二进制文件(以4.5.1版本为例)

  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
  1. 如果是二进制文件,解压运行即可(推荐方式)
> 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。以下有几种方式指定:

  1. 客户端寻址方式

    1. 代码中指定Name Server地址,多个namesrv地址之间用分号分割
    producer.setNamesrvAddr("localhost:9876");  
    
    consumer.setNamesrvAddr("localhost:9876");
    
    1. Java启动参数中指定Name Server地址
    -Drocketmq.namesrv.addr=localhost:9876  
    
    1. 环境变量指定Name Server地址
    > export  NAMESRV_ADDR=localhost:9876 
    
    1. HTTP静态服务器寻址

    TDB

  2. 为了测试,使用第4种方式来寻址:

    1. 使用环境变量NAMESRV_ADDR
    > export  NAMESRV_ADDR=localhost:9876 
    
    1. 发送消息
    > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
    

    打印:SendResult [sendStatus=SEND_OK, msgId= ...

    1. 接受消息
    > 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
上次更新: 2020-05-10 13:33:57