RocketMQ 使用安装

1.安装前准备:

  安装maven 并配置maven环境变量

  a.方便管理  在 /home 目录下创建 maven 文件夹        命令:  mkdir   maven

  b.cd /home/maven 目录 在该目录下 获取maven  tar.gz  文件包  

      wget  http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

  c.解压文件包:tar -xf apache-maven-3.3.9-bin.tar.gz   解压出文件夹   apache-maven-3.3.9

  d.修改环境变量,在/etc/profile 文件中添加以下几行maven 环境变量信息

       vim profile 编辑profile文件

       键入  i  进入编辑模式,在文件最后添加:

       MAVEN_HOME=/home/maven/maven3/apache-maven-3.3.9

       export MAVEN_HOME

       export PATH=${PATH}:${MAVEN_HOME}/bin

       追加完成后,键入命令   :wq 保存并退出

  e.执行命令 source /etc/profile 使环境变量生效。    

      source /etc/profile

   f.最后运行 mvn -v 验证maven是否安装成功,如果安装成功会打印如下内容

     Apache Maven 3.3.9 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-12T04:58:10+08:00)

     Maven home: /usr/local/maven3

     Java version: 1.7.0_65, vendor: Oracle Corporation

     Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre

     Default locale: en_US, platform encoding: UTF-8

     OS name: "linux", version: "3.13.0-35-generic", arch: "amd64", family: "unix"

     如果 安装了 jdk 但是没有配置环境变量  会在上述信息中  有个 Warning: JAVA_HOME environment variable is not set.   提示,但无关紧要。

2.安装RMQ

   a.方便管理  在  /home  目录下创建一个  RocketMQ  文件夹     mkdir  rocketMq

   b. 进入 rocketMq 文件夹    cd  /rocketMq  在此文件夹下  获取 RMQ 的安装包  我用的是 wget  方式:

      wget  https://codeload.github.com/alibaba/RocketMQ/tar.gz/v3.5.8

   c. 下载完成后解压  : tar -xf   v3.5.8   获得一个文件夹:RocketMQ-3.5.8

   d.进入 RocketMQ-3.5.8 文件夹 :     cd  RocketMQ-3.5.8

   e.执行安装命令 :sh  install.sh     在操作此步骤时,会耗时很久。install 脚本会执行mav 命令下载需要的jar包。

3.启动RMQ

   进入bin目录

   运行 nohup mqnamesrv -n 192.168.27.68:9876 &↙ 启动nameserver服务。

   运行 nohup mqbroker -n 192.168.27.68:9876↙ 启动broker服务

   其中,172.16.192.186为我服务器的IP。

至此,准备安装 RocketMq 的工作完成。下面进行  代码测试 。创建一maven 项目,用maven 主要是方便 jar包的管理,可以让maven去下载, 并创建 测试类如下:

4.测试类:

创建生产者和消费者,然后生产者生产消息,消费者消费消息。具体代码如下。

生产者

新建一个Java类,如下代码

Java

public class Consumer {

    public static void main(String[] args) throws InterruptedException, MQClientException {
        DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(
                "rmq-group");

        consumer.setNamesrvAddr("172.16.192.186:9876");
        consumer.setInstanceName("rmq-instance");
        consumer.subscribe("TopicA-test", "TagA");

        consumer.registerMessageListener(new MessageListenerConcurrently() {
            @Override
            public ConsumeConcurrentlyStatus consumeMessage(
                    List msgs, ConsumeConcurrentlyContext context) {
                for (MessageExt msg : msgs) {
                    System.out.println(new String(msg.getBody()));
                }
                return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
            }
        });
        consumer.start();
        System.out.println("Consumer Started.");
    }
}

消费者

创建一个java类,如下:

Java

public class Producer {
    public static void main(String[] args) throws MQClientException, InterruptedException {
        DefaultMQProducer producer = new DefaultMQProducer("rmq-group");
        producer.setNamesrvAddr("172.16.192.186:9876");
        producer.setInstanceName("rmq-instance");
        producer.start();
        try {
            for (int i = 0; i < 3; i++) {
                Message msg = new Message("TopicA-test",// topic
                    "TagA",// tag
                        (new Date() + "Hello RocketMQ ,QuickStart" + i)
                                .getBytes()// body
                );
                SendResult sendResult = producer.send(msg);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        producer.shutdown();
    }
}

运行Consumer和Producer,就可以看到生产者推送了消息,很快生产者就接收到了消息。




     

你可能感兴趣的:(RocketMQ 使用安装)