消息中间件是当前互联网公司必用的一个东西,通常用于 异步、削峰和解耦。目前公司里常见的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
在末尾添加
- JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
- PATH=$JAVA_HOME/bin:$PATH:.
- CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
- export JAVA_HOME
- export PATH
- 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 的基本使用和实战应用
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏