Centos7 安装RocketMQ(二进制版)

ops/2025/1/15 23:30:30/

一、介绍

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/ops/108286.html

相关文章

030集——自动弹出对话框、选择文件并播放wav音频文件(winform窗体)——C#学习笔记

如图所示,效果如下: 步骤如下: 新建一个winform窗体,双击界面,进入代码区: 复制(下面代码中命名空间内的代码)到(你的命名空间下),运行。 using …

日历时钟怎么设置?桌面日历时钟设置方法

大家好,今天小编给大家介绍一下,日历时钟怎么设置?桌面日历时钟设置方法 第一:先安装《芝麻时钟》这个桌面时钟软件,这个桌面时钟软件非常的强大,可以在桌面显示各种各样的时钟,各种时钟风格大…

(20)docke容器

先这样吧,回头再改一遍 [rootdocker ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 [rootdocker ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo [rootdocker ~]# sed -i sdownload…

使用 systemd-analyze 分析 Linux 系统启动慢的原因

使用 systemd-analyze 命令可以查看 Linux 系统在启动过程中每个服务的耗时情况, 方便我们排查是哪个环节导致系统启动缓慢, 以下是整理的常用命令参数和效果. 例子中一下子就可以定位到是 gssproxy.service 服务启动耗时过长. systemd-analyze blame Print list of running u…

【Vue】关于Vue3的生命周期

目录 Vue3中新增了一个setup生命周期函数:(1) setup执行的时机是在beforeCreate生命周期函数之前执行,在setup函数中是不能通过this来获取实例的;(2) 为了命名的统一性,将beforeDestroy 改名为 beforeUnmount,destroye…

《粮食科技与经济》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问:《粮食科技与经济》是不是核心期刊? 答:不是,是知网收录的第一批认定学术期刊。 问:《粮食科技与经济》级别? 答:省级。主管单位: 湖南省粮食和物资储备局 …

java直接实例化对象和使用接口实例化对象之间的区别(java小知识点)

文章目录 1.定义一个MyClass类和一个 MyInterface接口2.具体使用场景3.如何调用 MyClass 自己的特有方法?4.总结 1.定义一个MyClass类和一个 MyInterface接口 public interface MyInterface {void doSomething(); // 权限修饰符默认是public }public class MyClass…

信也科技基于 Apache SeaTunnel金融场景的应用实践探索

前言 作者:朱俊,信也科技,数据开发专家 离线开发一直是数据仓库建设中重要的一个环节。信也科技之前基于Azkaban构建了离线任务调度与开发平台,承载了公司90%以上的离线任务调度需求,以及玄策变量平台的每日变量跑批产…