Centos7 安装RocketMQ(二进制版)

embedded/2024/9/17 19:04:14/ 标签: rocketmq, 后端

一、介绍

RocketMQ:云原生“消息、事件、流”实时数据处理平台,覆盖云边端一体化数据处理场景

在阿里孕育 RocketMQ的雏形时期,我们将其用于异步通信、搜索、社交网络活动流、数据管道,贸易流程中。随着我们的贸易业务吞吐量的上升,源自我们的消息传递集群的压力也变得紧迫。
根据我们的研究,随着队列和虚拟主题使用的增加,ActiveMQ IO模块达到了一个瓶颈。我们尽力通过节流、断路器或降级来解决这个问题,但效果并不理想。于是我们尝试了流行的消息传递解决方案Kafka。不幸的是,Kafka不能满足我们的要求,其尤其表现在低延迟和高可靠性方面,详见这里。在这种情况下,我们决定发明一个新的消息传递引擎来处理更广泛的消息用例,覆盖从传统的pub/sub场景到高容量的实时零误差的交易系统。
Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景。

二、环境要求

  • 64位操作系统,推荐 Linux/Unix/macOS
  • 64位 JDK 1.8+
  • 本文采用二进制包方式安装,版本为4.4.0

三、下载

3.1 二进制包官网下载链接

点击下载

3.2 二进制包百度网盘下载链接

通过百度网盘分享的文件:rocketmq-all-4.4.0-bin-release.zip
链接:https://pan.baidu.com/s/1Bxk9hz27vM62GFq7SN5eow?pwd=6nwd
提取码:6nwd

3.3 二进制包夸克网盘下载链接

我用夸克网盘分享了「rocketmq-all-4.4.0-bin-release.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/44a5b8eaeb02

3.4 上传到指定目录

我们将文件上传到/root/mq目录下,然后使用unzip命令进行解压
在这里插入图片描述
在这里插入图片描述
然后我们使用mv命令重命名文件,命令如下

mv rocketmq-all-4.4.0-bin-release rocketmq

接着使用cd命令进入对应文件夹

cd rocketmq

在这里插入图片描述

四、目录介绍

4.1 benchmark

存放一些demo,可以直接运行。
在这里插入图片描述

4.2 bin

启动脚本,包括shell脚本和cmd脚本
在这里插入图片描述

4.3 conf

RocketMQ实例配置文件,包过broker配置文件,logback配置文件等
在这里插入图片描述

4.4 lib

依赖第三方jar包,包括Netty、commons-lang、FastJSON等
在这里插入图片描述

五、启动RocketMQ

5.1 启动NameServer

# 1.进入bin目录
cd /root/mq/rocketmq/bin
# 2.启动NameServer
nohup sh mqnamesrv &
# 3.查看启动日志
tail -f ~/logs/rocketmqlogs/namesrv.log

看到下图代表启动成功在这里插入图片描述

5.2 启动Broker

# 1.进入bin目录
cd /root/mq/rocketmq/bin
# 2.启动Broker
nohup sh mqbroker -n localhost:9876 &
# 3.查看启动日志
tail -f ~/logs/rocketmqlogs/broker.log 

如果发现tail命令找不到文件的话,说明可能Broker启动失败了。需要我们进行排查(可以参考备注)
在这里插入图片描述
启动成功图片如下
在这里插入图片描述

六、测试RocketMQ

我们在启动两个窗口进行测试,两个窗口都进入bin目录

cd /root/mq/rocketmq/bin

6.1 第一个窗口

然后我们在第一个窗口,输入下面代码,发送消息

# 1.设置环境变量
export NAMESRV_ADDR=localhost:9876
# 2.使用安装包的Demo发送消息
sh tools.sh org.apache.rocketmq.example.quickstart.Producer

发送成功如图所示
在这里插入图片描述

6.2 第二个窗口

# 1.设置环境变量
export NAMESRV_ADDR=localhost:9876
# 2.接收消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer

我们可以看到第二个窗口一直处于正在接受信息的状态,同时上面输出的消息也是第一个窗口发送的
在这里插入图片描述

七、关闭RocketMQ

# 1.进入bin目录
cd /root/mq/rocketmq/bin
# 2.关闭NameServer
sh mqshutdown namesrv
# 3.关闭Broker
sh mqshutdown broker

八、备注

RocketMQ默认的虚拟机内存为8G,启动Broker如果因为内存不足失败,需要编辑如下两个配置文件,修改JVM内存大小
在这里插入图片描述

# 编辑runbroker.sh和runserver.sh修改默认JVM大小
vi runbroker.sh
vi runserver.sh# 参考配置 按i键进入插入模式,按ESC后输入 :wq 保存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

在这里插入图片描述
然后重启nameserver和broker


http://www.ppmy.cn/embedded/109291.html

相关文章

RAG与LLM原理及实践(16)---RAG 前端技术Flask-socketIO

目录 背景 技术理念 RAG结合点 实时数据更新与推送 实时查询与响应 安装 使用完整案例 说明 后端 python代码 代码解释 前端 html代码 JS代码 代码解释 总结 背景 构建RAG系统或别的系统时,如果后端采用的全Python,或者说是以python 为主的系统,是很常见的…

都2024年了还不明白Redis持久化?RDB文件、AOF文件、AOF重写

都2024年了,不会还有人不知道redis的RDB和Aof吧?不知道没关系,看完这篇文章我相信你就会有个大概的了解和认识了 1. Redis持久化 1.1 持久化概念 Redis本身是一个基于内存的数据库,它提供了RDB持久化、AOF持久化两种方式&#…

RTX3060 FP64测试与猜想

RTX3060 FP64测试与猜想 一.小结二.查看FP64的峰值性能三.打满FP64、FP32的利用率,对比差异四.进一步证明pipe_fp64_cycles_active并不是2个fp64 core的metrics RTX3060 FP64测试与猜想 一.小结 RTX3060 compute capability为8.6,每个SM有2个FP64 core。每个cycle可输出2个fp…

266-基于Xilinx Kintex-7 XC7K325T 的12路光纤Switch交换平台

一、板卡概述 该系统是由两块模块组成,分别是基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片,pin_to_pin兼容FPGAXC7K410T-2FFG900 的模块和一个FPGA夹层卡(FMC)模块。前者支持64bit DDR3容量2GByte,USB3.0接口;HPC的FMC连…

数据同步方式何来“高级”与“低级”之说?场景匹配才是真理!

导读:数据同步方式的重要性对于数据集成领域的兴从业者不言而喻,选择正确的数据同步方式能让数据同步工作的成果事半功倍。目市面上的数据同步工具很多,提供的数据同步方式也有多种,不同的数据同步方式有什么区别?如何…

数据分析与挖掘课程相关资源

这是在gitee上整的关于这门课的一个开源项目。 https://gitee.com/rainpet/python-data-analysis-and-mining-demo 头歌平台。 常见问题: 1、如何确认conda的版本,执行如下命令: conda list anaconda$2、实验室登陆后,无法上网&a…

Scratch中秋节——嫦娥奔月

小虎鲸Scratch资源站-免费Scratch作品源码,素材,教程分享平台! 中秋节即将来临,Scratch的创意又一次点亮了节日的欢乐! 今年的中秋节,我们为您精心准备了一款独特的Scratch贺卡——《嫦娥奔月》。这款贺卡不仅传承了中秋节的传统元素&#x…

FPGA技术赋能云数据中心:提高性能与效率

随着现代科技的迅猛发展和大数据时代的推动,云数据中心已成为众多企业的核心基础设施。然而,伴随数据处理需求的不断增长,传统硬件架构在性能、功耗和灵活性方面面临诸多挑战。为了解决这些问题,FPGA(现场可编程门阵列…

Redis在登录接口中实现token时间的自适应增长

本篇文章前置知识,jwt令牌有一定了解,对spring有一定了解,对登录接口的实现有一定了解。 Redis在登录接口中的应用 在我们平时写登录接口的时候,大家可能都会习惯性的说上一句,很简单哇。不就是前端像后端发送一个账号密码的请求,然后后端验…

Java语言程序设计基础篇_编程练习题**17.20 (二进制编辑器)

目录 题目:**17.20 (二进制编辑器) 代码示例 结果展示 题目:**17.20 (二进制编辑器) 编写一个GUI应用程序,让用户在文本域输入一个文件名,然后单击回车键,在文本区域显示它的二进制表示形式。用户也可以修改这个二…

浙大数据结构慕课课后题(07-图6 旅游规划分数 25)

题目要求: 有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一…

安全产品概述

防火墙 防火墙的核心功能是过滤掉有害的流量,在专用网络和公共网络之间建立保护屏障。防火墙过滤通常基于一系列规则,如 IP 地址、域名、协议、端口号、关键字等,对入站和出站的流量进行过滤。这些规则也称为访问控制列表(ACCESS…

【Python机器学习】核心数、进程、线程、超线程、L1、L2、L3级缓存

如何知道自己电脑的CPU是几核的,打开任务管理器(同时按下:Esc键、SHIFT键、CTRL键) 然后,点击任务管理器左上角的性能选项,观察右下角中的内核:后面的数字,就是你CPU的核心数,下图中我的是16个核心的。 需要注意的是,下面的逻辑处理器:32 表示支持 32 线程(即超线…

用AI操作电脑:使用PyQt和Python结合AI生成代码的实用指南

​ 在github上有这样一个名字叫做open-interpreter的项目,收获了52k个Star。该项目通过自然语言来控制电脑,极大简化了使用电脑的难度,提高了工作效率。受该项目启发,我们可以做一个中文版桌面AI助手。 分步思考: 自…

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance this;this.data []…

使用批处理脚本自动化启动Unreal Engine项目

在游戏开发和内容创作领域,Unreal Engine(简称UE)以其强大的功能和灵活性赢得了广泛的认可。然而,在日常工作中,频繁地手动启动UE编辑器并打开特定项目可能会变得繁琐。幸运的是,我们可以通过编写一个简单的…

替代区块链

随着比特币的成功,人们逐渐意识到区块链技术的潜力,并随之出现了迅速的发展,各种区块链协议、应用程序和平台相应产生。 需要指出的是,在这种多元的局面下,很多项目迅速失去了它们的吸引力。事实上,有不少项…

SpringBoot依赖之Spring Boot DevTools热部署开发增效工具

摘要:Spring项目又大又重,依赖多,编译启动慢,怎么提高研发效率呢?方法之一热部署! 概念 Spring Boot DevTools 依赖名称: Spring Boot DevTools功能描述: Provides fast application restarts, LiveRelo…

99.WEB渗透测试-信息收集-网络空间搜索引擎shodan(1)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:98.WEB渗透测试-信息收集-Google语法(12) 信息收集方向-网络空间…

k8s 存储(PV、PVC、SC、本地存储、NFS)

存储持久化相关三个概念: PersistentVolume (PV) 是对具体存储资源的描述,比如NFS、Ceph、GlusterFS等,通过PV可以访问到具体的存储资源;PersistentVolumeClaim (PVC) Pod想要使用具体的存储资源需要对接到PVC,PVC里会定义好Pod希望使用存储…