Skip to content
Xiaorui Wang edited this page Aug 15, 2013 · 17 revisions

RocketMQ如何安装,需要git、Java、Maven环境

git clone https://github.com/alibaba/RocketMQ.git

cd rocketmq

sh install.sh

cd devenv

或者下载最新的安装包

RocketMQ如何部署

Producer、Consumer、Broker都可以分布式部署。Producer、Consumer通过Name Server来寻找Broker,Broker启动后,会定时将要发布的Topic注册到Name Server。

  • Broker如何指定Name Server地址(下面方式任选一种即可,优先级按照高低顺序排序)?

    • 启动Broker时,命令行方式指定

      mqbroker -n 192.168.0.1:9876;192.168.0.2:9876

    • 通过环境变量指定

      export NAMESRV_ADDR=192.168.0.1:9876;192.168.0.2:9876

  • Producer/Consumer如何指定Name Server地址(下面方式任选一种即可,优先级按照高低顺序排序)?

    • 通过代码中指定

      producer.setNamesrvAddr("192.168.0.1:9876;192.168.0.2:9876");

      consumer.setNamesrvAddr("192.168.0.1:9876;192.168.0.2:9876");

    • 通过Java启动参数中指定

      -Drocketmq.namesrv.addr=192.168.0.1:9876;192.168.0.2:9876

    • 通过环境变量指定

      export NAMESRV_ADDR=192.168.0.1:9876;192.168.0.2:9876

  • Name Server部署方式

    Name Server是一个几乎无状态的名称服务中心,部署非常简单,直接通过命令行启动即可,为保证可靠,可在多台机器启动多个实例。

    nohup mqnamesrv &

  • 在生产环境部署,请参考以下软硬件要求

    https://github.com/alibaba/RocketMQ/wiki/system_requirements

部署Demo,在一台机器上部署NameServer、Broker、Producer、Consumer

  1. 启动Name Server

    nohup sh mqnamesrv &

  2. 启动Broker

    nohup sh mqbroker -n 127.0.0.1:9876 &

  3. 启动Producer、Consumer之前请设置环境变量

    export NAMESRV_ADDR=127.0.0.1:9876

  4. 然后尝试收发消息

    Producer例子

    Consumer例子

P.S: 单台机器限制同时启动多个JVM实例

Clone this wiki locally