傻子都看得明白的RocketMQ安装以及测试

学任何技术都是两步骤:

1.搭建环境

2.helloworld

我也不例外,直接搞起来。

一、RocketMQ的安装

1、文档

官方网站

http://rocketmq.apache.org

GitHub

https://github.com/apache/rocketmq

2、下载

wget https://mirror.bit.edu.cn/apache/rocketmq/4.7.0/rocketmq-all-4.7.0-bin-release.zip

我们是基于Centos8来的,面向官方文档学习,所以下载地址自然也是官方的。

去官方网站找合适的版本进行下载,目前我这里最新的是4.7.0版本。

http://rocketmq.apache.org/dowloading/releases/

在这里插入图片描述

https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.0/rocketmq-all-4.7.0-bin-release.zip

在这里插入图片描述

3、准备工作

3.1、解压

unzip rocketmq-all-4.7.0-bin-release.zip

3.2、安装jdk

sudo yum install java-1.8.0-openjdk-devel

4、启动

4.1、启动namesrv

cd rocketmq-all-4.7.0-bin-release/bin
./mqnamesrv

4.2、启动broker

cd rocketmq-all-4.7.0-bin-release/bin
./mqbroker -n localhost:9876

常见错误以及解决方案:

常见错误:启动broker失败 Cannot allocate memory

[root@node-113b bin]# ./mqbroker -n localhost:9876
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed
; error='Cannot allocate memory' (errno=12)#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/rocketmq/bin/hs_err_pid1997.log

解决方案:

是由于默认内存分配的太大了,超出了本机内存,直接OOM了。

修改bin/目录下的如下两个脚本

runbroker.sh
runserver.sh

在这两个脚本里都搜索-server -Xms,将其内存分配小点,自己玩的话512MB就足够了,够够的了!

4.3、启动成功标识

namesrv启动成功标识:

在这里插入图片描述

broker启动成功标识:
在这里插入图片描述

二、RocketMQ控制台的安装

控制台目前获取方式有如下两种:

1.第三方网站去下载现成的,比如csdn等。

2.官方源码包自己编译而成,官方没有现成的。

我们这里当然采取官方方式。

1、官方文档

github仓库

https://github.com/apache/rocketmq-externals

中文指南

https://github.com/apache/rocketmq-externals/blob/master/rocketmq-console/doc/1_0_0/UserGuide_CN.md

2、下载源码

https://codeload.github.com/apache/rocketmq-externals/zip/master

3、修改配置(可选)

我们下载完解压后的文件目录如下:

在这里插入图片描述

修改rocketmq-console\src\main\resources\application.properties文件的server.port就欧了。默认8080。

4、编译打包

进入rocketmq-console,然后用maven进行编译打包

mvn clean package -DskipTests

打包完会在target下生成我们spring boot的jar程序,直接java -jar启动完事。

在这里插入图片描述

5、启动控制台

将编译打包好的springboot程序扔到服务器上,执行如下命令进行启动

java -jar rocketmq-console-ng-1.0.1.jar --rocketmq.config.namesrvAddr=127.0.0.1:9876

如果想后台启动就nohup &

访问一下看看效果:
在这里插入图片描述

三、测试

rocketmq给我们提供了测试工具和测试类,可以在安装完很方便的进行测试。

0、准备工作

rocketmq给我们提供的默认测试工具在bin目录下,叫tools.sh。我们测试前需要配置这个脚本,为他指定namesrv地址才可以,否则测试发送/消费消息的时候会出现如下错误 connect to null failed

22:49:02.470 [main] DEBUG i.n.u.i.l.InternalLoggerFactory - Using SLF4J as the default logging framework
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
java.lang.IllegalStateException: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to null failed

配置如下:

vim tools.sh
# 在export JAVA_HOME上面添加如下这段代码
export NAMESRV_ADDR=localhost:9876

1、发送消息

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

成功的话会看到哗哗哗的日志,因为这个类会发送1000条消息到TopicTest这个Topic下。

2、消费消息

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

成功的话会看到哗哗哗的日志,因为这个类会消费TopicTest下的全部消息。刚发送的1000条都会被消费掉。

3、控制台

发送成功后我们自然也能来到管控台去看消息和消费情况等等等信息
在这里插入图片描述

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【原】编程界的小学生

没有打赏我依然会坚持。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值