RocketMQ从安装、压测到运维一站式文档

1 RocketMQ下载方式

1.1 官网下载

下载地址

source是源码,Binary是可运行程序。
在这里插入图片描述

1.2 网盘下载

版本:

4.7.1版本的

source下载:

链接: https://pan.baidu.com/s/1d8FuAicxSr-YZKeeQJ7jWg 提取码: t24m

Binary下载:

链接: https://pan.baidu.com/s/1qBhQpbw1OJwF0eKgtogyCw 提取码: fbqi

2 RocketMQ安装

需要提前安装JDK,配置maven相关的环境变量。

2.1 解压

对压缩文件进行解压,用解压缩命令执行,解压对应的.zip压缩文件:

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

2.2 启动

2.2.1 启动NameServer

进入bin目录,执行命令:nohup sh mqnamesrv &

启动成功:

启动过程中,可能会出现内存过大、端口被占用的错误日志,启动失败的原因可以通过日志查看2.2.3

2.2.2 启动broker

在启动前需要进入bin目录下修改一下配置文件,增加外网地址便于访问,修改broker配置文件broker.conf的ip,IP为本机IP

启动broker命令:

nohup sh mqbroker -c ../conf/broker.conf -n 178.78.188.178:9876 autoCreateTopicEnable=true &

启动日志查看

2.2.3 日志查看

 日志文件地址:bin目录文件下的nohup.out文件

查看日志文件:tail -1000f nohup.out

2.2.4 常见错误

2.2.4.1 端口被占用

解决方案:

查看端口,默认9876,然后kill,启动:

lsof -i :9876

2.2.4.2 进程已经启动

如果多次启动同一个 Broker 实例,可能会出现这个错误。确保每次只启动一个实例,并且在启动新实例之前确保旧的实例已经完全停止。

kill进程

# 查看进程ps -ef |grep mqnamesrvps -ef |grep mqbroker# 杀死broker进程:sh mqshutdown namesrvsh mqshutdown broker

2.2.4.3 RemotingConnectException

原因是broker无法连接到指定IP地址导致的,解决方法是在broker.conf的配置文件中,检查IP配置项brokerIP为本机IP

2.2.4.4 内存堆栈初始值过大

修改堆空间的初始值:

2.2.4.5 Please set the JAVA_HOME variable in your environment, We need java(x64)!

1、系统上已经安装了 jdk1.8,也配置好了环境变量。应该不是 jdk 安装问题。

2、查看 runserver.sh 脚本文件发现报错信息在这下面三行:

将第一行的$HOME/jdk/java 路径修改成系统 JDK 安装路径,我以 Mac 系统安装路径为例,屏蔽第二行和第三行。

3 rocketmq dashboard

3.1 官网下载

rocketmq-dashboard是一个可视化查看和管理RocketMQ消息队列的工具,基于SpringBoot开发的一个Web工程,可以去Github下载源代码,或者官方下载地址:https://dist.apache.org/repos/dist/release/rocketmq/rocketmq-dashboard/1.0.0/rocketmq-dashboard-1.0.0-source-release.zip

官方地址:RocketMQ Dashboard | RocketMQ

3.2 网盘下载

链接: https://pan.baidu.com/s/1u_cI42onoK5NGUsCvSJ_Gg 提取码: m69r

下载成功之后,解压就可以得到源代码,目录结构就是一个简单的SpringBoot工程。

3.3 修改配置文件

因为是spring boot项目,修改配置文件application.yml中链接RocketMQ的配置项。

3.4 打包

配置文件修改之后,就可以执行mvn package打包命令,生成对应的jar包程序。打包成功之后,就可以在target目录下面找到生成的jar包,这个jar就是可执行的rocketmq-dashboard程序

我这里已经把jar包放到网盘了:

链接: https://pan.baidu.com/s/1ALGnbqmDdTQ6-0yLmvIrmw 提取码: 292q

3.5 启动

启动dashboard程序之前,需要确保RocketMQ消息队列服务已经启动,确保namesrv和mqbroker两个服务已经启动

运行jar包:java -jar /Users/xxxx/RocketMQ/rocketmq-dashboard-1.0.0.jar

启动成功之后,打开浏览器,访问http://localhost:8080/

到此,RocketMQ可视化工具rocketmq-dashboard就已经安装完成了,可以通过控制台申请topic,查看消息消费情况。

4 benchmark性能压测工具

4.1 官网下载

https://github.com/apache/rocketmq/tree/master/example/src/main/java/org/apache/rocketmq/example/benchmark

4.2 RocketMQ安装包自带

4.3 工具清单


producer.sh: 消息生产benchmark工具(同步非批处理模式)

consumer.sh:消息消费的benchmark工具

4.3.1 producer.sh

4.3.1.1 帮助

sh producer.sh -h

usage: benchmarkProducer [-h] [-k <arg>] [-n <arg>] [-s <arg>] [-t <arg>] [-w <arg>]
-h,--help Print help
-k,--keyEnable <arg> Message Key Enable, Default: false   //是否使用message key,true则使用timestamp作为message的key
-n,--namesrvAddr <arg> Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876  //指定nameserver地址
-s,--messageSize <arg> Message Size, Default: 128        //指定消息大小,默认128字节
-t,--topic <arg> Topic name, Default: BenchmarkTest      //指定topic,默认使用BenchmarkTest,如果指定其他记得先创建对应的topic
-w,--threadCount <arg> Thread count, Default: 64         //开启的发送生产消息的线程数
4.3.1.2 脚本命令
指定nameserver进行生产消息压测:

sh producer.sh -n xx.xx.xx.xx:9876 -t YACE_ORDER_RECEIVE -w 128 -s 1024

4.3.1.3 参数介绍

SendTPS:生产消息的TPS

Max RT:最大响应时间(毫秒)

Average RT:平均响应时间(毫秒)

Send Failed:发送失败的总请求数

Response Failed:返回失败的总响应数

4.3.2 consumer.sh

4.3.2.1 帮助

sh consumer.sh -h

usage: benchmarkConsumer [-e <arg>] [-f <arg>] [-g <arg>] [-h] [-n <arg>] [-p <arg>] [-r <arg>] [-t <arg>]
-e,--expression <arg> filter expression content file path.ie: ./test/expr               //配合filter参数使用,过滤的条件表达式
-f,--filterType <arg> TAG, SQL92                                                        //过滤方式
-g,--group <arg> Consumer group name, Default: benchmark_consumer                       //指定消费组,默认为benchmark_consumer
-h,--help Print help
-n,--namesrvAddr <arg> Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876  //指定nameserver地址
-p,--group prefix enable <arg> Consumer group name, Default: false                      //是否给消费组添加后缀,默认会给指定的消费组后添加后缀,默认应该是true(提示有问题)
-r,--fail rate <arg> consumer fail rate, default 0                                      //指定消费失败率,只要没有超过消费失败率,消费失败都会重试
-t,--topic <arg> Topic name, Default: BenchmarkTest                                     //指定topic,默认使用BenchmarkTest,如果指定其他记得先创建对应的topic 

4.3.2.2 脚本命令

sh consumer.sh -n xx.xx.xx.xx:9876 -t YACE_ORDER_RECEIVE

4.3.2.3 参数介绍

TPS: 消费的TPS

FAIL:消费失败的总数

AVG(B2C):broker到Consumer的平均响应时间(毫秒)

AVG(S2C):nameserver到Consumer的平均响应时间(毫秒)

MAX(B2C): broker到Consumer的最大响应时间(毫秒)

MAX(S2C): nameserver到Consumer的最大响应时间(毫秒)

4.4 消息堆积清理

参考链接:

产品概述_云消息队列 RocketMQ 版(RocketMQ)-阿里云帮助中心

RocketMQ的下载与安装(全网最细保姆级别教学)_rocketmq下载安装-CSDN博客

【RocketMQ笔记02】安装RocketMQ可视化工具rocketmq-dashboard-CSDN博客

Apache / rocketmq-dashboard

RocketMQ系列:rocketmq的benchmark工具

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/812946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python数据可视化——笔记1

1、pyecharts模块 Pyecharts 是一个 Python 可视化库&#xff0c;绘制多种类型的图表&#xff0c;创建交互式和美观图表。 官方网站:https://pyecharts.org/#/zh-cn/ pyecharts画廊&#xff1a; https://gallery.pyecharts.org/#/README 安装pyechart包&#xff0c;在pych…

界面控件DevExpress WinForms/WPF v23.2 - 富文本编辑器支持内容控件

众所周知内容控件是交互式UI元素(文本字段、下拉列表、日期选择器)&#xff0c;用于在屏幕上输入和管理信息。内容控件通常在模板/表单中使用&#xff0c;以标准化文档格式和简化数据输入。DevExpress文字处理产品库&#xff08;Word Processing Document API、WinForm和WPF富文…

Redis中的集群(三)

集群 槽指派 记录节点的槽指派信息。 clusterNode结构的slots属性和numslot属性记录了节点负责处理哪些槽: struct clusterNode { // ... unsigned char slots[16384/8];int numslots; // ... }slots属性是一个二进制位数组(bit array)&#xff0c;这个数组的长度位16384/8…

centos 7 sshd服务无法自动随机启动

centos 7 sshd 服务无法伴随主机启动而启动&#xff0c;而使用systemctl start sshd可以启动&#xff0c;很奇怪。 后来使用Kimi查询&#xff0c;有提示“检查系统启动服务的顺序和状态” systemctl list-dependencies <service>确保所有依赖服务都已正常启动。 查看本…

中仕公考:三支一扶期满后有编制吗?

三支一扶两年的期限到达之后&#xff0c;会自动获得编制吗? 完成三支一扶项目的服务期限后&#xff0c;参与人员必须通过正式的考试才能获得编制&#xff0c;而并不是期满后自动获得编制。但是&#xff0c;三支一扶服务期满人员在参加公务员考试中可依照其身份享受加分的优惠…

中国软件商业模式

很多IT技术人、风险投资人这些年进入SaaS产业&#xff0c;写了大量的文章来诊断中国软件产业。 我只是看过去十年的中国软件百强&#xff0c;这是事实上在中国这片土地上长出来并且跑出来的厂商。实践是检验一切真理的唯一标准。说美国怎么样怎么样&#xff0c;中国甲方企业和中…

QA测试开发工程师面试题满分问答12: 用户上传照片如何设计测试用例并进行测试

针对用户上传照片的功能&#xff0c;以下是一些从 QA 角度设计测试用例的示例&#xff0c;涵盖了前端功能点、后端功能点、缓存、异常处理、资源占用、并发和网络等维度&#xff1a; 前端功能点&#xff1a; a. 用户界面&#xff1a;验证上传照片的用户界面是否易于使用和导航&…

标准孔板简单适应性强

即使生活一地鸡毛&#xff0c;但仍然要觉得未来可期&#xff0c;做自己而不是解释自己&#xff0c;只要能变好&#xff0c;慢点又如何&#xff0c;愿我们都是苦尽甘来的人&#xff0c;熬得住就出众&#xff0c;熬不住就出局&#xff0c;鹤壁永成矿山&#xff0c;在行业坚持十余…

基于matlab动态化绘制一个彩色边框的爱心

一、版本1 % 定义爱心曲线的参数方程 t linspace(0, 2*pi, 100); x 16*sin(t).^3; y 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t);% 创建图形 figure; axis equal; axis off; title(爱心);% 循环遍历每个点&#xff0c;绘制不同颜色的线段 for i 1:length(t)-1% 清除…

Selenium+TestNG学习笔记

------------------TestNG-------------------- 1.层级 suite -》test-》class-》method 建议层级 class对应一个测试用例&#xff0c;suite对应一个测试集 2. testNG中的PO模式 3.运行多个测试类的测试用例 通过suite来进行管理;suite在testNG中可以通过xml 来进行编写管理…

【Hello算法】 > 第 2 关 >数据结构 之 数组与链表

数据结构 之 数组与链表 1&#xff1a;Understanding data structures &#xff01;——了解数据结构——1.1&#xff1a;Classification-分类-1.2&#xff1a;Type-类型- 2&#xff1a;Arrays are the bricks that make up the wall of data structures *——数组是组成数据结…

django基于python的法院执法案件管理系统

本课题使用Python语言进行开发。代码层面的操作主要在PyCharm中进行&#xff0c;将系统所使用到的表以及数据存储到MySQL数据库中&#xff0c;方便对数据进行操作本课题基于WEB的开发平台&#xff0c;设计的基本思路是&#xff1a; 框架&#xff1a;django/flask 后端&#xff…

算法题解记录10+++缺失的第一个正数

题目描述&#xff1a; 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,0] 输出&#xff1a;3 解释&#xff1a;范围 […

Spring与Spring Boot的区别:从框架设计到应用开发

这是我自己开发的一款小程序&#xff0c;感兴趣的可以体验一下&#xff1a; 进入正题&#xff1a; 在Java开发领域&#xff0c;Spring和Spring Boot都是备受推崇的框架&#xff0c;它们为开发人员提供了丰富的功能和便捷的开发体验。然而&#xff0c;许多人对它们之间的区别仍…

MySQL的基础操作(二)

目录 一.数据库约束 1.主键约束 (Primary Key) 2.唯一约束 (Unique) 3.外键约束 (Foreign Key): 4.检查约束(Check) 5.默认约束 (Default) 二.聚合查询 1.简单聚合函数 2.GROUP BY子句 3.HAVING子句 三.联合查询 1.内连接 2.左连接 3.右连接 4.子查询 5.合并查询…

大数据实训进行时:数据标注项目

数据标注项目 培训目的 让同学们先熟悉理论知识&#xff0c;如&#xff1a;识别障碍物是否满足拉框的要求&#xff0c;如何进行拉框&#xff1b;熟悉标注操作&#xff0c;培养出能够进入正式项目的人员 培训地点 理论&#xff1a;学术报告厅、阶梯教室 实操&#xff1a;1实…

基于linux进一步理解核间通讯

芯片架构分为同构和异构: 如下图TC397: 如下图TDA4: 如下图STM32MP157: 非对称多处理结构(AMP): AMP 结构是指每个内核运行自己的 OS 或同一 OS 的独立实例&#

Day53 动态规划 part14

Day53 动态规划 part14 1143.最长公共子序列 我的思路&#xff1a; 模仿昨天的最大重复子序列长度的思路&#xff0c;可以列出如下状态转移方程 对着状态转移方程写代码即可&#xff0c;还是需要注意&#xff0c;i, j是从1开始的&#xff0c;比较的时候是str1[i -1]和str2[j…

【PG-1】PostgreSQL体系结构概述

1. PostgreSQL体系结构概述 代码结构 其中&#xff0c;backend是后端核心代码&#xff0c;包括右边的几个dir: access&#xff1a;处理数据访问方法和索引的代码。 bootstrap&#xff1a;数据库初始化相关的代码。 catalog&#xff1a;系统目录&#xff08;如表和索引的元数据…

2024年第十四届MathorCup数学应用挑战赛B题解题思路

B题https://mbd.pub/o/bread/ZZ6Wm5dx 问题1:对于附件I(Pre_test文件夹)给定的三张甲骨文原始拓片图 片进行图像预处理&#xff0c;提取图像特征&#xff0c;建立甲骨文图像预处理模型&#xff0c;实现对 甲骨文图像干扰元素的初步判别和处理。 针对问题1&#xff0c;对于附件…