RocketMQ 快速搭建与控制台搭建

news2024/11/27 19:48:31

一、下载资料及环境准备

这里 下载路径 可以下载对应的版本,本文以 4.9.5 为例:下载这里的Binary 为Linux 安装文件,Source 也下载,方便后续使用。

在这里插入图片描述
将下载后的包进行解压:
在这里插入图片描述
由于RockerMQ 的建议运行环境较大,但平时自己的服务器没有这么大,所以进行内存调整 。前提是将解压后的文件夹放入 /app/rocketmq,且Linux 虚拟机已安装jdk。现修改 runserver.sh 文件的内存大小:

cd /app/rocketmq/rocketmq-all-4.9.5-bin-release/bin
vim runserver.sh

输入/MaxMetaspaceSize 找到对应修改的地方 ,将这一行改为:

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

同样调整 runbroker.sh 文件中的内存:

JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"

修改为:

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g"

查看本机已安装的jdk信息及环境变量:(此处将不介绍如何安装及配置环境变量,网上资料很多)
在这里插入图片描述

二、启动、停止 RocketMQ,消息收发

RocketMQ 的后端服务分为 nameserver 和 broker 两个服务。

1、后台启动 nameserver 服务

cd /app/rocketmq/rocketmq-all-4.9.5-bin-release/

nohup bin/mqnamesrv &

在这里插入图片描述

Clone session 复制一个连接会话用来跟踪日志:

cd /app/rocketmq/rocketmq-all-4.9.5-bin-release/
ll # 查看目录文件
tail -fn 500 nohup.out 

查看日志,可以看到 Name server 启动成功的日志输出:
在这里插入图片描述
也可以 jps 查看Java 进程(看到 NamesrvStartup 就是刚才启动的进程):
在这里插入图片描述

2、后台启动 broker 服务

启动 broker 之前先要修改配置:conf/broker.confautoCreateTopicEnable=true

cd /app/rocketmq/rocketmq-all-4.9.5-bin-release/conf/

vim broker.conf

改好后保存即可:
在这里插入图片描述
后台启动 broker:

 cd /app/rocketmq/rocketmq-all-4.9.5-bin-release/
 
 nohup bin/mqbroker &  

同样查看 nohup.out 的日志,如显示以下则表示成功启动:
在这里插入图片描述
同样使用 jps 指令可以检查服务的启动状态。使用 jsp 指令后,可以看到一个名为 BrokerStartup 的进程,则表示 broker 服务启动完成:
在这里插入图片描述

3、配置 MQ 相关的环境变量

vim /etc/profile

# 加入对应的环境变量
export ROCKETMQ_HOME=/app/rocketmq/rocketmq-all-4.9.5-bin-release
export PATH=$PATH:${ROCKETMQ_HOME}/bin
export NAMESRV_ADDR=localhost:9876

配置完成后退出并保存,使用 source /etc/profile 使环境变量生效。
后期可以直接使用 mqnamesrvmqbroker 指令,具体可以参考下图使用:
在这里插入图片描述
在这里插入图片描述

4、在当前窗口启动MQ服务

配置了上述环境变量就可以快捷使用mq 命令启动(当前窗口):
1、启动 namesrv 如下

mqnamesrv start

在这里插入图片描述

2、启动 broker 如下:

 mqbroker start

在这里插入图片描述

5、停止MQ 服务

1、停止 namesrv 服务 :

mqshutdown namesrv  

2、停止 broker 服务:

mqshutdown broker 

使用 jps 查看 namesrvbroker 的服务 已经停止:
在这里插入图片描述

6、使用自带测试类,实现消息收发

1、 生产者发送消息:

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

这个指令默认往RocketMQ中发送1000条消息。在命令行窗口可以看到发送消息的日志:
在这里插入图片描述
2、消费者消费消息:

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

消费者启动完成后,可以看到消费到的消息:
在这里插入图片描述

注意:Consumer消费者的指令并不会主动结束,他会继续挂起,等待消费新的消息。我们可以使用CTRL+C停止该进程。

三、搭建RocketMQ Dashboard

在 下载链接 的底部可以找到 RocketMQ Dashboard 后下载:在这里插入图片描述
解压后使用开发工具打开,配置好maven 工具,然后修改配置 rocketmq.config.namesrvAddr
在这里插入图片描述

使用 maven 插件进行打包:
在这里插入图片描述
在Linux 系统中执行以下命令启动 rocketmq-dashboard

java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar

使用ip + 端口号进行访问: http://192.168.217.130:8080/#/
在这里插入图片描述

在这里插入图片描述
至此RocketMQ 的namesrv 和 broker 、dashboard 就搭建好啦!

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

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

相关文章

解决pyside6-uic生成py代码中文为unicode(乱码)的问题

前言 本来想用Java做客户端,后来发现很多算法还是Python有现成的比较方便。 所以最终选择了pyside6。但是用Designer(QT设计师)设计完后,生成的代码中文部分显示为unicode,也可以理解为乱码。 就像这样:…

MybatisPlus 扩展功能 代码生成 逻辑删除 通用枚举 字段类型处理器 配置加密

MybatisPlus 核心功能 条件构造器 自定义SQL Service接口 静态工具_软工菜鸡的博客-CSDN博客 3.扩展功能 3.1.代码生成 在使用MybatisPlus以后,基础的Mapper、Service、PO代码相对固定,重复编写也比较麻烦。因此MybatisPlus官方提供了代码生成器根据数据…

pytorch-v2.0.1 cuda arm64 aarch64 torch 2.0.1+cu118 源码编译笔记【2】验证cuda安装 成功

接上篇 pytorch-v2.0.1 cuda arm64 aarch64 torch 2.0.1cu118 源码编译笔记_hkNaruto的博客-CSDN博客 由于采用/usr/local/bin/gcc编译,先设置LD_LIBRARY_PATH,再启动python3 export LD_LIBRARY_PATH/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/…

高德Android高性能高稳定性代码覆盖率技术实践

前言 代码覆盖率(Code coverage)是软件测试中的一种度量方式,用于反映代码被测试的比例和程度。 在软件迭代过程中,除了应该关注测试过程中的代码覆盖率,用户使用过程中的代码覆盖率也是一个非常有价值的指标,同样不可忽视。因为…

Spring 6.0和SpringBoot 3.0新特性

目录 主要更新内容是以下几个: AOT编译 Spring Native GraalVM SpringBoot3生成二进制可执行文件底层流程 主要更新内容是以下几个: A Java 17 baselineSupport for Jakarta EE 10 with an EE 9 baselineSupport for generating native images with…

录音转写和AI质检的区别和使用场景

区别: 录音转写是将语音或录音转化为文本形式的过程。它通常涉及使用自然语言处理技术和语音识别算法来将音频文件中的语音转换为可读的文本格式。 AI质检是一种利用人工智能技术对客户服务、销售和其他电话中心交互进行自动化评估的过程。通过分析和评估客户和代…

【C++】STL案例2-员工分组

#include <iostream> using namespace std;#include<vector> #include<map>#define CHEHUA 0 //策划部门 #define MEISHU 1 //美术部门 #define YANFA 2 //研发部门class Worker { public:string m_Name;int m_Salary; };void createWorker(vector<…

flask使用Flask-Mail实现邮件发送

Flask-Mail可以实现邮件的发送&#xff0c;并且可以和 Flask 集成&#xff0c;让我们更方便地实现此功能。 1、安装 使用pip安装&#xff1a; $ pip install Flask-Mail或下载源码安装&#xff1a; $ git clone https://github.com/mattupstate/flask-mail.git $ cd flask-…

Java线程与锁常考知识点

Java线程与锁常考知识点 基础篇1. 创建线程的几种方式2. 线程池创建的方式3. 线程池提交任务的流程4. 线程池有哪些状态 进阶篇1. 说说对线程安全的理解2. 对守护线程的理解3. ThreadLocal的底层原理4. 并发、并⾏、串⾏之间的区别5. Java死锁如何避免&#xff1f;6. 线程池的底…

滑动窗口实例8(最小覆盖子串)

题目&#xff1a; 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串&#xff0c;则返回空字符串 "" 。 注意&#xff1a; 对于 t 中重复字符&#xff0c;我们寻找的子字符串中该字符数量必须不少于 t…

C/C++中FILE指针的使用总结

在C中&#xff0c;FILE指针是一个用于文件操作的指针类型。它是C语言标准库中的一部分&#xff0c;也被C所继承。通过使用FILE指针&#xff0c;我们可以打开、读取、写入和关闭文件。 在C中&#xff0c;FILE指针通常与标准库中的文件操作函数一起使用&#xff0c;例如fopen(),…

通俗易懂玩QT:QStackedWidget 学习

QStackedWidget 学习 一、介绍 业务需求&#xff0c;用到了 QStackWidget 这个类&#xff0c;然后程序存在很严重的内存泄露问题&#xff0c;所以特意研究了一下 QStackWidget 类&#xff0c;QStackWidget 类的功能是窗体切换&#xff0c;它比 QTabWidget 使用起来更为灵活&a…

【高等数学基础知识篇】——不定积分

文章目录 一、不定积分的概念与基本性质1.1 原函数与不定积分的基本概念1.2 不定积分的基本性质 二、不定积分基本公式与积分法2.1 不定积分基本公式2.2 不定积分的积分法2.2.1 换元积分法2.2.2 分部积分法 三、两类重要函数的不定积分——有理函数与三角有理函数3.1 有理函数的…

架构设计基础设施保障IaaS计算

目录 1 IaaS概述2 服务部署演进历程3 云虚拟机4 云虚拟机如何选型5 云虚拟机的创建操作6 服务部署访问 1 IaaS概述 云计算并不是一种单一类型的产品&#xff0c;而是为满足企业各种IT需求而提供的多种服务。 通过云计算提供的一类这样的服务是基础设施即服务&#xff08;IaaS&a…

蓝桥杯备赛(Day5)——二叉树

二叉树存储 普通做法&#xff0c;二叉树一个节点包括结点的数值以及指向左右子节点的指针 在class Node中 def __init__(self,s,lNone,rNone):self.valNoneself.llself.rr 在竞赛中&#xff0c;我们往往使用静态数组实现二叉树&#xff0c;定义一个大小为N的静态结构体数组…

使用iCloud和Shortcuts实现跨设备同步与自动化数据采集

在如今的数字时代&#xff0c;跨设备同步和自动化数据采集对于提高工作效率和便利性至关重要。苹果的iCloud和Shortcuts App为我们提供了强大的工具&#xff0c;可以实现跨设备同步和自动化数据采集的功能。本文将详细介绍如何利用iCloud和Shortcuts App实现这些功能&#xff0…

英诺森供应链一体化平台解析

近日&#xff0c;2023年中国物流与采购联合会科学技术奖正式公布&#xff0c;该奖项经国家科技部批准&#xff0c;在国家科学技术奖励工作办公室登记备案&#xff0c;是我国物流行业最具影响力的奖项之一。 英诺森联合客户申报的科技项目“英诺森供应链智能数据平台”&#xf…

Golang编写客户端SDK,并开源发布包到GitHub,供其他项目import使用

目录 编写客户端SDK&#xff0c;并开源发布包到GitHub1. 创建 GitHub 仓库2. 构建项目&#xff0c;编写代码Go 代码示例&#xff1a;项目目录结构展示&#xff1a; 3. 提交代码到 GitHub仓库4. 发布版本5. 现在其他人可以引用使用你的模块包了 编写客户端SDK&#xff0c;并开源…

记一次以太网连接失败修复

症状: 很久没用这个电脑了&#xff0c;开机以后&#xff0c;发现连不上校园网。 遂检查网线&#xff0c;发现网线连在自己笔记本是可以用的&#xff0c;说明网线没问题。 但是网线连在主机是红灯常亮黄灯闪烁&#xff0c;怀疑是网卡有问题&#xff08;后证明不是&#xff0c…

成都车展:比亚迪“豹力美学”杀入硬派SUV市场

在熙熙攘攘人头攒动的2023成都国际车展上&#xff0c;如果要评选一家人气最旺的车企展台&#xff0c;那必然非比亚迪莫属。 在比亚迪现场展示的多款车型中&#xff0c;作为比亚迪旗下方程豹品牌的首款车型&#xff0c;以“超级混动硬派SUV”著称的方程豹5&#xff0c;自然吸引了…