RocketMQ Windows搭建踩坑实记

一、安装参考https://www.liangzl.com/get-article-detail-11057.html
下载 和安装步骤 https://www.jianshu.com/p/4a275e779afa
1、下载
1.1地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/

1.2选择‘Binary’进行下载

1.3解压已下载工程

  1. 配置

2.1 系统环境变量配置

    变量名:ROCKETMQ_HOME

    变量值:MQ解压路径\MQ文件夹名

2.2重启服务器
3. 启动
3.1 启动NAMESERVER Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqnamesrv.cmd’,启动NAMESERVER。成功后会弹出提示框,此框勿关闭。
RocketMQ Windows搭建踩坑实记_第1张图片

3.2 启动BROKER Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true’,启动BROKER。成功后会弹出提示框,此框勿关闭。

采坑!!!!!!!autoCreateTopicEnable=true不一定会生效,在之后的producer和customer里指定topic时会不行,,,首次搭建可以在之后的监控台手动创建
RocketMQ Windows搭建踩坑实记_第2张图片
踩坑!!!!默认的配置很大,如果机器内存不够,则会启动不成功。因为仅仅时搭建测试,我全部都改成m级的

    假如弹出提示框提示‘错误: 找不到或无法加载主类 xxxxxx’。打开runbroker.cmd,然后将‘%CLASSPATH%’加上英文双引号。保存并重新执行start语句。

RocketMQ Windows搭建踩坑实记_第3张图片
这里没有任何文字,应该启动好了,如果不放心,可以去broker的log里查看,C:\Users\本机\logs\rocketmqlogs
RocketMQ Windows搭建踩坑实记_第4张图片
有这样的ok就算时启动成功了。

  1. 安装监控插件。
    4.1 git clone https://github.com/apache/rocketmq-externals.git 解压
    4.2修改配置文件
    RocketMQ Windows搭建踩坑实记_第5张图片
    cmd 进入插件文件夹 D:\workapp\RocketMQ\rocketmq-externals\rocketmq-console
    执行maven打包命令:mvn clean package -Dmaven.test.skip=true
    打包完成后 进入target文件夹 执行 java -jar rocketmq-console-ng-1.0.1.jar(jar包版本号因人而异)。
    看到spring的图案,没有报错,就启动成功了。
    RocketMQ Windows搭建踩坑实记_第6张图片
    访问就能看到如下界面。
    如果nameservaddrlist下有地址,就代表成功。

5、producer 测试

public class ProducerTestController {
    //分组名必须保证全局一致
    public static final String PRODUCE_GROUP_NAME="DefalultCluster";//在控制台中找集群名
    //MQ的运行地址
    public  static final String MQ_IP="127.0.0.1:9876";
    @RequestMapping("/producermessage")
    @ResponseBody
    public Map produceMessage() throws Exception{
        //1. 创建生产者连接(类似于JDBC中的Connection),要传入MQ的分组名
        DefaultMQProducer producer =new DefaultMQProducer(PRODUCE_GROUP_NAME);
        //2. 设置MQ的运行地址
        producer.setNamesrvAddr(MQ_IP);
        //3. 开启连接
        producer.start();
        //4. 构造消息(重载方法较多,此处选择topic, tag, message的三参数方法)
        Message message = new Message("test_topic","test_tag",("test_message_from_producer").getBytes());//topic 要手动创建,名字在控制台中要看的到
        //5. 发送消息,该方法会返回一个发送结果的对象
        SendResult result= producer.send(message);
        System.out.println(result.getSendStatus());
        //6. 关闭链接
       // producer.shutdown();
        Map map =new HashMap<>();
        map.put("消息结果","test");
        return map;

    }

RocketMQ Windows搭建踩坑实记_第7张图片
topic手动创建或者把允许自动创建topic配置在配置文件中。

最后访问,RocketMQ Windows搭建踩坑实记_第8张图片
在这里插入图片描述
RocketMQ Windows搭建踩坑实记_第9张图片
说明搭建成功!

你可能感兴趣的:(RocketMQ Windows搭建踩坑实记)