Centos7 安装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大小
vim runbroker.sh
vim runserver.sh

# 参考配置 按i键进入插入模式,按ESC后输入 :wq 保存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

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

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

每天吃八顿

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值