RocketMq灰皮书(二)------本地部署启动MQ

Windows10本地部署RocketMQ

在上一篇文章中,我们对rocket的几个基本概念进行了介绍,也了解了业内几大消息中间件的区别.在本篇博文中,我们进行RocketMQ的本地部署.



1. 下载安装

首先我们可以去RocketMQ的官网去下载源码: 官网点这里

打开官网可以看到很精美的概述,我们需要了解的地方有2个,都在上图中标记了出来:

  1. Documentation 关于rocket使用的文档介绍
  2. Blog 社区的更新博文

简单的来说,如果你想了解早期的mq的更新文档,可以去Blog页面,它大概是这样的:

Blog页面,按照时间显示了每次MQ相关的更新发布公告,类似于LOL官网日常公告.-_-||

我们看到图中有两种文章:

  1. Release Notes - Apache RocketMQ Spring - Version 2.2.0
  2. Release Notes - Apache RocketMQ - Version 4.8.0
Apache RocketMQ Spring

作为一名合格的Java开发(摸鱼)工程师,我们看一眼就知道,Apache RocketMQ Spring版本代表的是RocketMQ整合Spring框架提供的发行包,点进去具体看到有个Quick Start ,再点进去会跳转到github基友社区,并且我们看到了其提供的基于SpringBootmaven依赖:

<!--add dependency in pom.xml-->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>${RELEASE.VERSION}</version>
</dependency>

因此,我们可以很方便的在项目中集成RocketMQ进行开发,后面我们的demo会使用这个依赖快速实现.

Apache RocketMQ

说白了,上面的那个rocketmq-spring-boot-starter只是用来合Spring的,真正的RocketMQ其实是Apache RocketMQ里面介绍的东西. 他里面也很清楚地介绍了如何下载并启动RocketMQ

图中上面介绍了RocketMQ快速搭建的步骤,点击快速开始按照步骤即可,下方是其下载链接,其中Source是源代码,Binary是二进制发行版.

这次我们只是为了在本地运行起来,然后简单的写个demo,就直接使用Binary版本即可,点击下载,

然后我们打开Quick Start,看一下相关的启动介绍.


2. 环境准备

Quick Start页面,我们发现RocketMQ的详细文章也有中文版,这样看来当前国内很多公司之所以使用RocketMQ来作为消息中间件不是没有原因的.

RocketMQ的运行环境有以下规定:

  • 64位的系统内核

    不管你是用Linux还是Windows

  • 64位的JDK 1.8+

  • Maven3.2.x

    maven版本也有要求

  • Git

  • 4g+ free disk for Broker server

    这里需要注意了,RocketMQ运行Broker server需要至少4G的空闲磁盘,我们需要关注的不是这占用的磁盘空间,而是后面的Broker server! 在上篇文章中我们说过,每个运行在机器上的RocketMQ称为Broker,当时说的broker就是这里的Broker server

根据以上的环境要求,我们可以检查一下各自的环境是否符合,我这里用的maven版本是3.3.9

而在Quick Start页面中,也详细介绍了再Linux系统和Windows系统下不同的启动方式,我们可以按照步骤依次进行,不得不说这官方文档写的非常详细了.


3. 配置环境变量&运行RocketMQ
  1. 解压我们下载好的RocketMQ的压缩包,在这里我是放在了D盘下

  2. 配置环境变量

    ROCKETMQ_HOME="D:\rocketmq"
    NAMESRV_ADDR="localhost:9876"

  3. 启动Name Server

    在这里我们又看到一个新概念Name Server,暂且不去管它,我们先运行起来.

    进入MQ解压后的目录,即:ROCKETMQ_HOME/bin目录,按住Shift键后鼠标右键即可打开PowerShell命令窗口,运行Name Server的启动命令:

    .\mqnamesrv.cmd

    可以看到启动成功了

    注意此时不能关闭命令行窗口,关闭以后会直接关闭Name Server

  4. 启动Broker

    用同样的方式打开PowerShell窗口,运行命令:

    .\mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true

    -n 指定broker连接的nameServer的地址和端口号

    autoCreateTopicEnable参数见名知意,打开自动创建Topic

    启动成功如下:

    同样不能关闭此窗口

到这里,我们本地的RocketMQ启动完成


4. 安装rocketmq-console验证运行情况

按照上面的步骤,我们在本地成功启动了RocketMQ,那么我们怎么验证呢?

RocketMQ提供了强大的后台管理组件来管理发送到MQ的消息,这个组件就是rocketmq-console

a. rocketmq-externals

在了解rocketmq-console之前,我们先来说一下rocketmq-externals,除了rocketmq本身之外,rocketmq有个改进改进方案,其中包括了很多扩展的项目,比如rocketmq的Go版本的客户端,Python版本的客户端,集成Flink的插件等,这些扩展的项目全部整合在rocketmq-externals项目中,而我们的rocketmq-console就是其中之一.

b. rocketmq-console

rocketmq-console是使用springboot设计的rocketMq的后台系统,有了它,我们可以很方便的在Web页面上管理RocketMQ的消息,topic等,接下来我们来安装运行rocketmq-console.

  • 首先我们下载rocketmq-externals的源码到本地,地址是: https://github.com/apache/rocketmq-externals.git,下载完成后IDE打开,可以看到里面有很多的项目

  • 修改rocketmq-consoleapplication.rpoperties配置文件

    #指定连接的nameServer的地址和端口号
    rocketmq.config.namesrvAddr=127.0.0.1:9876
  • 启动rocketmq-console

    直接通过maven命令编译打包rocketmq-console项目,这样会打出来一个jar包在target目录下,然后直接用java命令运行该jar包就可以了

    在这里我们就直接通过IDEA运行,不用那么麻烦

    找到主启动类,运行run方法即可,等待启动成功我们就可以再浏览器打开后台页面了,默认的启动地址是http://localhost:8080

    有关rocketmq-console的详细使用,这里就不说了,需要了解的可以查阅官方手册,地址如下:手册


结语:

在这里,之所以在本地部署一次,其实是为了后续的demo使用mq,其二是了解MQ的启动过程和每一个组件,也能在后面帮助我们了解其运行原理和架构原理.

个人公众号<橙耘自留地>日前已经开通,后续博主发布的文章都会一并更新到公众号,如有需要,自行查阅.

关于橙耘自留地,是我个人聚焦互联网技术栈学习分享的一个平台,创立之初是因为目前业内各种技术课程资料层次不齐,褒贬不一,有时候一门课花费高价买入,其实内含草包,有时偶尔低价得之,却又大有干货.因此我会根据大家的意见和评价,选择不同的技术栈去学习,一为提升我自己的技术,二为大家梳理出质量比较好的课程,以作参考.同时,相关的学习心得也会一并更新到博客和公众号.

RocketMq灰皮书(二)------本地部署启动MQ的更多相关文章

  1. RocketMq灰皮书(三)------MQ使用

    RocketMq灰皮书(三)------MQ使用 在使用MQ之前,我们回顾一下前两篇博文的内容. 我们大致了解了RocketMQ的四个概念,分别是:Producer,Consumer,Message和 ...

  2. RocketMq灰皮书(一)------选型&RocketMQ名词

    RocketMq灰皮书(一)------选型&RocketMQ名词 一. MQ选型对比 目前业内常用的MQ框架有一下几种: Kafka RabbitMQ RocketMQ 除此之外,还有Act ...

  3. Kubernetes 学习笔记(二):本地部署一个 kubernetes 集群

    前言 前面用到过的 minikube 只是一个单节点的 k8s 集群,这对于学习而言是不够的.我们需要有一个多节点集群,才能用到各种调度/监控功能.而且单节点只能是一个加引号的"集群&quo ...

  4. WIN8+VS2013编写发布WCF之二(部署)

    上文简介了如何建立WCF工程并且调试,下面说一下如何部署. 本文将陆陆续续讲述三种部署方式,随着项目的进展将不断补全. 声明: 用管理员身份打开VS2013,发布前请将程序的.net版本改成与服务器相 ...

  5. RocketMQ 简单梳理 及 集群部署笔记【转】

    一.RocketMQ 基础知识介绍Apache RocketMQ是阿里开源的一款高性能.高吞吐量.队列模型的消息中间件的分布式消息中间件. 上图是一个典型的消息中间件收发消息的模型,RocketMQ也 ...

  6. RocketMQ 简单梳理 及 集群部署笔记

    一.RocketMQ 基础知识介绍Apache RocketMQ是阿里开源的一款高性能.高吞吐量.队列模型的消息中间件的分布式消息中间件. 上图是一个典型的消息中间件收发消息的模型,RocketMQ也 ...

  7. WIN8+VS2013编写发布WCF、一(编写)、二(部署)、三(调用)

    原文://http://www.cnblogs.com/tntboom/p/4348483.html 引言:上学期因为写服务器用WCF,所以连查资料再瞎调试勉强成功了,但是这学期又到了用WCF的时候, ...

  8. virtual judge 本地部署方案

    这是一种将自己的电脑当作服务器来部署一个vj的方法,我也是参考前辈们的做法稍作了改动,如果在服务器上部署的话需要在细节上稍作改动: 一.什么是Virtual Judge? vj的工作原理什么?  vj ...

  9. 分布式监控CAT服务端的本地部署

    一.CAT简介 CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统.美团点评基础架构部希望在基础存储.高性能通信.大规模在 ...

随机推荐

  1. POJ1195 二维线段树

    Mobile phones POJ - 1195 Suppose that the fourth generation mobile phone base stations in the Tamper ...

  2. eclipse项目放到github

    一,下载git ,配置用户名和邮箱: git config --global user.name "name"       git config --global user.ema ...

  3. tcpdump抓包及tshark解包方法介绍

    tshark是wireshark的命令行工具,通过shell命令抓取.解析报文.tcpdump是Linux系统下的抓包工具.wireshark和tcpdump都共同使用 libpcap作为其底层抓包的 ...

  4. Docker运行Mysql,Redis,SpringBoot项目

    Docker运行Mysql,Redis,SpringBoot项目 1.docker运行mysql 1.1拉取镜像 1.2启动容器 1.3进入容器 1.4开启mysql 1.5设置远程连接 1.6查看版 ...

  5. 项目action:前台传多个dataWrap给后台

    业务描述:当前台需要向后台传递多个dataWrap时,需要给后台action加上一段方法,才可以获取到额外的dataWrap. @Override public List<String> ...

  6. nohup和&后台运行,进程查看及终止

    文章目录 一.nohup 1.1用途:不挂断地运行命令. 1.2语法:nohup Command [ Arg - ] [ & ] 1.3退出状态:该命令返回下列出口值: 二.& 2.1 ...

  7. 将jekyll博客主页的超链接变为新标签页打开

    将jekyll博客主页的超链接变为新标签页打开 最近发现在打开博文查看时往往不想关闭当前页面,想新建一个页面打开,查了HTML资料以后进行修改 在根目录找到index.html,打开编辑,找到图示&l ...

  8. 2019牛客暑期多校训练营(第九场)E.All men are brothers(并查集+排列组合)

    题意:现在有n个集合 每个集合大小为1 现在你可以把集合合并m次 每次会告诉你哪个集合合并 让你输出每次从不同的四个集合里各选出四个的组合方案 思路:我们可以想到用并查集模拟集合的合并 对于方案数 我 ...

  9. hdu1541 Stars

    Problem Description Astronomers often examine star maps where stars are represented by points on a p ...

  10. 【应急响应】Windows应急响应入门手册

    0x01 应急响应概述   首先我们来了解一下两个概念:应急响应和安全建设,这两者的区别就是应急响应是被动响应.安全建设是主动防御.  所谓有因才有果,既然是被动的,那么我们在应急响应的时候就得先了解 ...