RocketMQ服务搭建

RocketMQ的官网地址: rocketmq.apache.org 。在下载⻚⾯可以获取RocketMQ的源码包以及运⾏包。下载⻚⾯地址:rocketmq.apache.org/download。

关于RocketMQ的版本: 我们这⾥采⽤最新的5.3.0版本。

运⾏只需要下载Binary运⾏版本就可以了。 当然,源码包也建议下载下来,后续会进行解读。运⾏包下载下来后,就可以直接解压,上传到服务器上。我们这⾥会上传到/app/rocketmq⽬录。解压后⼏个重要的⽬录如下:

默认情况下,RocketMQ建议的运⾏环境需要⾄少12G的内存,这是⽣产环境⽐较理想的资源配置。但是,学 习阶段,如果你的服务器没有这么⼤的内存空间,那么就需要做⼀下调整。进⼊bin⽬录,对其中的runserver.sh和runbroker.sh两个脚本进⾏⼀下修改。 使⽤vi runserver.sh指令,编辑这个脚本,找到下⾯的⼀⾏配置,调整Java进程的内存⼤⼩。

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

接下来,同样调整runbroker.sh中的内存⼤⼩。

js 复制代码
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"
修改为:
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g"

RocketMQ的后端服务分为nameserver和broker两个服务,关于他们的作⽤,后⾯会给你分享。接下来我们 先将这两个服务启动起来。

第⼀步:启动nameserver服务。

js 复制代码
cd /app/rocketmq/rocketmq-all-5.3.0-bin-release 
nohup bin/mqnamesrv &

指令执⾏后,会⽣成⼀个nohup.out的⽇志⽂件。在这个⽇志⽂件⾥如果看到下⾯这⼀条关键⽇志,就表示 nameserver服务启动成功了。

接下来,可以通过jsp指令进⾏验证。使⽤jps指令后,可以看到有⼀个NamesrvStartup的进程运⾏,也表示 nameserver服务启动完成。

第⼆步:启动broker服务

broker也是⼀个Java服务,只需要调整conf⽬录下的broker.conf⽂件,进⾏⼀些定制。然后就可以启动了。

在启动broker服务前,需要先指定NameServer的服务地址。RocketMQ可以使⽤⼀个NAMESRV_ADDR的环 境变量指定NameServer服务地址。 通过vi ~/.bash_profile添加以下配置。然后使⽤source ~/.bash_profile让配置⽣效。

export NAMESRV_ADDR='localhost:9876' 然后也可以⽤之前的⽅式启动broker服务。启动broker服务的指令是mqbroker。

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

启动完成后,同样检查nohup.out⽇志⽂件,有如下⼀条关键⽇志,就表示broker服务启动正常了。

The broker[xxxxx] boot success. serializeType=JSON and name server is localhost:9876

同样使⽤jps指令可以检查服务的启动状态。使⽤jps指令后,可以看到⼀个名为BrokerStartup的进程,则表示 broker服务启动完成。

2、快速实现消息收发 1》:通过指令启动RocketMQ的消息⽣产者发送消息。

js 复制代码
cd /app/rocketmq/rocketmq-all-5.3.0-bin-release
bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

2》:可以启动消息消费者接收之前发送的消息

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

相关推荐
源代码•宸7 小时前
大厂技术岗面试之谈薪资
经验分享·后端·面试·职场和发展·golang·大厂·职级水平的薪资
晚霞的不甘8 小时前
CANN 编译器深度解析:UB、L1 与 Global Memory 的协同调度机制
java·后端·spring·架构·音视频
喵叔哟8 小时前
06-ASPNETCore-WebAPI开发
服务器·后端·c#
Charlie_lll9 小时前
力扣解题-移动零
后端·算法·leetcode
打工的小王10 小时前
Spring Boot(三)Spring Boot整合SpringMVC
java·spring boot·后端
80530单词突击赢11 小时前
JavaWeb进阶:SpringBoot核心与Bean管理
java·spring boot·后端
爬山算法11 小时前
Hibernate(87)如何在安全测试中使用Hibernate?
java·后端·hibernate
WeiXiao_Hyy12 小时前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
苏渡苇12 小时前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·设计模式·学习方法·责任链模式
long31612 小时前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法