likes
comments
collection
share

RocketMQ 学习历程(一)------windows 上搭建rocketmq服务

作者站长头像
站长
· 阅读数 39

今天从零开始学习RocketMQ,以前学习过JMS规范以及ActiveMQ相关知识,但总感觉RocketMQ给我带来一种莫名的好感,加上公司目前也在使用RocketMQ,所以,很有必要学习一波,乘年轻刚入职场,多学点、研究点技术,相信结局总是美好的。

本文很简单,就是基本的windows环境搭建,非集群版本。请不要问我为什么不在linux上面进行搭建,首先我用不惯虚拟机,第二之前买的阿里云学生机过期了,贼难受。学会在windows上搭建RocketMQ服务之后,在linux上面搭建也是同样的步骤和道理的。本文最后还会放出小编在搭建过程中犯过的错误以及解决方法,让大家能更快地进行服务搭建。

一、windows下RocketMQ服务搭建

首先假设我们已经对RocketMQ的相关架构有所了解,如果你还没有进行了解学习,可以先到官方网站或者找找博客进行学习。RocketMQ的启动流程主要有以下几个步骤:

  • 1、启动命名服务NameServer

  • 2、Broker的启动

  • 3、创建ProviderConsumer,模拟消息发送接收

  • 4、关闭RocketMQ服务器

1、启动命名服务NameServer

NameServer的默认启动类为:org.apache.rocketmq.namesrv.NamesrvStartup

RocketMQ 学习历程(一)------windows 上搭建rocketmq服务

2、Broker的启动

Broker的默认启动类为:org.apache.rocketmq.broker.BrokerStartup

RocketMQ 学习历程(一)------windows 上搭建rocketmq服务

3、创建ProviderConsumer,模拟消息发送接收

生产消息:

RocketMQ 学习历程(一)------windows 上搭建rocketmq服务

消费消息:

RocketMQ 学习历程(一)------windows 上搭建rocketmq服务

4、关闭RocketMQ服务器

先关闭Broker,然后再关闭名称服务器。

RocketMQ 学习历程(一)------windows 上搭建rocketmq服务

二、相关错误及解决方法

  • 1、下载完rocketmq之后必须配置环境变量ROCKETMQ_HOME,否则报错.

RocketMQ 学习历程(一)------windows 上搭建rocketmq服务

那么为什么会出现这样的错误呢?很简单,你打开mqnamesrv.cmd文件就知道了,里边有这么一段代码:

if not exist "%ROCKETMQ_HOME%\bin\runserver.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & EXIT /B 1

如果不存在该环境变量就执行echo语句。

  • 2、解压压缩包的路径不能出现空格

也就是说你下载完rocketmq压缩包之后,解压路径不能出现类似下面的情况:

e://Program File/rocketmq

出现空格,会报“找不到主类”的错误

三、总结

搭建rocketmq环境比想象中要简单,过程中也踩了两个坑,在这里分享一个解决启动问题的思路,那就是如果你实在找不出问题该如何解决,那么你可以尝试打开cmd文件,查看源代码,看看到底启动的逻辑,问题会清晰很多。

上面也指出了namesrvbroker的相关启动类,所有的启动过程都在源码的main()方法中,可以进去一探究竟~~

转载自:https://juejin.cn/post/6844903645390061576
评论
请登录