Mac或Linux安装RocketMQ和可视化控制台

avatar 2019年8月1日22:33:26 评论 331 views

消息中间件是当前互联网公司必用的一个东西,通常用于 异步、削峰和解耦。目前公司里常见的MQ主要是 RabbitMQ、RocketMQ 和 Kafka,目前所在的项目组主要是 Kafka,之前的一个公司用的是 RocketMQ,我记得还是收费版的。

MQ这种东西配好了,用起来还是比较简单,通常都是在微服务项目中配合使用。

最近这段时间准备不接项目,在给一些新人讲课,准备把一系列教程补全,多写些博客,整些demo。

 

本文介绍 Mac 或 Linux 中安装 RocketMQ和控制台。

一、安装 RocketMQ

1.下载 RocketMQ

官网地址:quick-start

这里为了方便,直接下载发布版本,当然也可以下载源码完整版,自己打包。

下载最新版本 4.4版本

下载完解压如图

在终端进入当前目录

 

2.配置JAVA_HOME

配置Java环境变量和 JAVA_HOME

可以通过 echo $JAVA_HOME 来检验自己是否配置

配置方法:

vim ~/.bash_profile

在末尾添加

  1. JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
  2. PATH=$JAVA_HOME/bin:$PATH:.
  3. CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
  4. export JAVA_HOME
  5. export PATH
  6. export CLASSPATH

注意修改第一行

然后刷新该文件

source ~/.bash_profile

 

3.修改 runserver.sh 和 runbroker.sh 的 jvm 参数中的堆大小

修改 bin/runserver.sh 和 bin/runbroker.sh 文件

如图,可以把8g改成2g,4g改成1g

两个文件都需要改的哦

 

4.启动 Name Server

后台启动

nohup sh bin/mqnamesrv &

查看日志,检查是否成功

tail -f ~/logs/rocketmqlogs/namesrv.log

 

示例如图

 

5.启动Broker

后台启动 Broker 在 9876 端口

nohup sh bin/mqbroker -n localhost:9876 &

查看日志,检查是否成功

tail -f ~/logs/rocketmqlogs/broker.log

 

备注:

默认情况下broker是不自动创建 topic的,即 topic 不存在的时候会报错

通过添加 autoCreateTopicEnable=true 来解决,日志输入目录我们最好也指定一个文件比较好,命令如下,注意不要多加空格

nohup sh bin/mqbroker -n 127.0.0.1:9876 autoCreateTopicEnable=true >mqbroker-log.txt &

 

6.检查 NameServer 和 Broker 是否启动中

使用 Java 自带命令 jps 可以查看当前启动了哪些 Java 进程和对应进程ID

jps

 

目前我们的 NameServer和 Broker 都是启动的

 

7.测试投递消息

需要先配置 NAMESRV_ADDR 到环境变量中

具体方法可以直接在终端输入命令,这种方式记录的 NAMESRV_ADDR 是临时的,关闭终端就生效了

export NAMESRV_ADDR=localhost:9876

我这里直接在 ~/.bash_profile 中添加,然后别忘了 source ~/.bash_profile

 

发送消息测试

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

 

可以看到终端输出大量日志,已经发送不了很多消息

 

8.测试接受消息

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

同样是终端输出大量日志,接受了很多消息

 

以上说明 RocketMQ 已经能正常使用了

 

9.关闭 NameServer 和 Broker

我们刚才启动 NameServer 和 Broker 的时候,是先启动 NameServer,再启动 Broker;

关闭的时候,建议先关闭 Broker,再关闭 NameServer

sh bin/mqshutdown broker

sh bin/mqshutdown namesrv

 

二、安装可视化控制台

1.下载项目

在 GitHub 中搜索 rocketmq-externals,其中 rocketmq-console 就是 RocketMQ 可视化控制台,我们可以将源码克隆下来,然后自己 mvn package,然后运行 jar 包。

或者直接下载官方提供的 1.0.0 版本的 rocketmq-console

https://github.com/apache/rocketmq-externals/releases/tag/rocketmq-console-1.0.0

下载 zip 包或者 tar 包

 

我们可以看到里面的 rocketmq-console 其实是一个 SpringBoot 项目

可以修改 application.properties

默认端口是 8080,NameServerAddr 是 localhost:9876

暂时不需要修改,直接启动

 

2.启动项目

mvn spring-boot:run

确保配置了 Maven 环境变量

 

 

3.访问可视化后台

可见今天已经投递了2000条消息,消费了2000条

 

 

后面的文章将介绍 RocketMQ 官方API的使用以及整合 SpringBoot 的基本使用和实战应用

 

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: