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

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

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

1、windows下RocketMQ服务搭建

首先假设咱们已经对RocketMQ的相关架构有所了解,若是你尚未进行了解学习,能够先到官方网站或者找找博客进行学习。RocketMQ的启动流程主要有如下几个步骤:windows

  • 一、启动命名服务NameServerbash

  • 二、Broker的启动服务器

  • 三、建立ProviderConsumer,模拟消息发送接收架构

  • 四、关闭RocketMQ服务器ide

一、启动命名服务NameServer

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

二、Broker的启动

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

三、建立ProviderConsumer,模拟消息发送接收

生产消息:ui

消费消息:

四、关闭RocketMQ服务器

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

2、相关错误及解决方法

  • 一、下载完rocketmq以后必须配置环境变量ROCKETMQ_HOME,不然报错.

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

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

若是不存在该环境变量就执行echo语句。

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

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

e://Program File/rocketmq

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

3、总结

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

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

相关文章
相关标签/搜索