欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows下安装RocketMQ

程序员文章站 2022-07-15 07:58:26
...

一、下载文件

这里我们采用4.7.1版本的rocketmq,进入4.7.1版本界面,选择二进制版下载.以下为二进制版下载地址,直接点击下载即可:4.7.1二进制版下载

二、环境准备

2.1 环境版本

项目 属性
系统 windows server 2012
JDK版本 JDK1.8
rocketmq 4.7.1

2.2 设置环境变量

ROCKETMQ需要使用JAVA环境,因此需要先配置好JAVA的环境变量,步骤省略。

  • 2.2.1 设置ROCKETMQ_HOME

    变量名:ROCKETMQ_HOME
    变量值:D:\rocketmq(你的MQ解压后的路径,到bin目录的上级即可)
    windows下安装RocketMQ

  • 2.2.2 设置NAMESRV_ADDR

    变量名:NAMESRV_ADDR
    变量值:localhost:9876(IP和端口具体情况设定,我这里采用单机部署因此可以用localhost。)windows下安装RocketMQ

三、启动

3.1 启动name-server

  • 以管理员身份运行powershell,键入以下命令:

     $host.ui.RawUI.WindowTitle="rocketmq-name-server" # 修改窗口标题,防止过多的窗口不好定位目标
     cd  'D:\rocketmq'								   # 进入rocketmq解压后的文件夹,视具体情况进行修改
      .\bin\mqnamesrv.cmd							   # 启动name-server
    
  • name-server启动完成后的界面:
    windows下安装RocketMQ

3.2 启动broker

  • 重新以管理员身份运行一个powershell,键入以下命令:
    $host.ui.RawUI.WindowTitle="rocketmq-broker" 	   # 修改窗口标题,防止过多的窗口不好定位目标
    cd  'D:\rocketmq'								   # 进入rocketmq解压后的文件夹,视具体情况进行修改
    .\bin\mqbroker.cmd autoCreateTopicEnable=true	   # 启动broker
    
  • broker启动完成后的界面:
    windows下安装RocketMQ

四、测试消息

  • 消费消息测试
    重新打开一个powershell,执行命令:

     .\bin\tools.cmd  org.apache.rocketmq.example.quickstart.Consumer
    

    windows下安装RocketMQ
    消费者测试完成,等待消息发送。。。。。。

  • 发送消息测试

    最好是将消费消息的powershell和发送消息的powershell并排放置,这样能看到当消息一经发送,消费者powershell就开始滚动接受消息。

    重新打开一个powershell,执行命令:

     .\bin\tools.cmd  org.apache.rocketmq.example.quickstart.Producer
    

    windows下安装RocketMQ
    消息发送测试成功,消息成功被消费者接收消费。

五、碰到的问题与解决

  • 5.1 找不到或无法加载主类 Files\rocketmq\Files\rocketmq\lib
    windows下安装RocketMQ
    由于rocketmq启动时会将自身目录下的lib目录加入到依赖路径里面去,因此当此路径存在空格的时候会出现这个异常。注意这里我用的路径是D:\Program Files\rocketmq,环境变量里面的ROCKETMQ_HOME对用的也是配置这个D:\Program Files\rocketmq,Program Files中间是有空格的。
    因此需要把RocketMQ移出Program Files或者将Program Files重命名取消空格(这个不推荐,因为正常来说Program Files目录下肯定安装了很多软件,一改全完蛋。)。
    所以当把RocketMQ移到了D盘根目录下,环境变量也对应修改为根目录下,是不会有这个问题的。

  • 5.1 找不到或无法加载主类Files\Java\jdk1.8.0_144\lib;D:\Program
    windows下安装RocketMQ
    上面说到rocketmq会将lib目录加到依赖路径里面去,那么同样肯定会将JAVA的classPath加进运行路径里面去。这个问题就是在拼接classPath时有些版本的windows不能完整的解析拼接命令导致的异常。这里我们是在运行broker时候出现的异常,因此去看下bin目录下的runbroker.cmd(运行的是mqbroker.cmd,实际打开的是runbroker.cmd)文件里面的内容:
    windows下安装RocketMQ
    看到第26行,我们需要将:

    set CLASSPATH=.;%BASE_DIR%conf;%CLASSPATH%

    改为(对%CLASSPATH%添加英文的双引号):

    set CLASSPATH=.;%BASE_DIR%conf;"%CLASSPATH%"

    改完后的文件:
    windows下安装RocketMQ
    然后重新运行命令即可成功启动:

     .\bin\mqbroker.cmd autoCreateTopicEnable=true
    

相关标签: RocketMQ