Rocketmq4.9.5 Centos7.9 安装

Rocketmq Centos7.9 安装

1.Centos7.9 安装

在Centos7.9 安装 Rocketmq-4.9.5,下载地址:https://rocketmq.apache.org/download/

版本文档发布日期Source 下载Binary 下载End of Support
4.9.5Release Notes2023.4.1download.zipdownload.zip

在这里插入图片描述

RocketMQ 集群工作流程:

1、启动 NameServer,NameServer 起来后监听端口,等待 Broker、Producer 、Consumer 连上来,相当于一个路由控制中心。

2、Broker 启动,跟所有的 NameServer 保持长连接,定时发送心跳包。心跳包中包含当前 Broker信息( IP+端口等 )以及存储所有 Topic 信息。注册成功后,NameServer 集群中就有 Topic 跟 Broker 的映射关系。

3、收发消息前,先创建 Topic,创建 Topic 时需要指定该 Topic 要存储在哪些 Broker 上,也可以在发送消息时自动创建 Topic。

4、Producer 发送消息,启动时先跟 NameServer 集群中的其中一台建立长连接,并从 NameServer 中获取当前发送的 Topic 存在哪些 Broker 上,轮询从队列列表中选择一个队列,然后与队列所在的 Broker 建立长连接从而向 Broker 发消息。

5、Consumer 跟 Producer 类似,跟其中一台 NameServer 建立长连接,获取当前订阅 Topic 存在哪些 Broker 上,然后直接跟 Broker 建立连接通道,开始消费消息

RocketMQ 的传输模型是:发布订阅模型 ,不同订阅组之间相互独立不会相互影响,同一个主题内的消息可以被多个订阅组处理,每个订阅组都可以拿到全量消息,因此发布订阅模型可以实现一对多通信。

RocketMQ 支持两种消息模式:集群消费( Clustering )和广播消费( Broadcasting )。

集群消费同一 Topic 下的一条消息只会被同一消费组中的一个消费者消费。也就是说,消息被负载均衡到了同一个消费组的多个消费者实例上。

在这里插入图片描述

广播消费:当使用广播消费模式时,每条消息推送给集群内所有的消费者,保证消息至少被每个消费者消费一次。

在这里插入图片描述

1.1 jdk和rocketmq解压

jdk下载:https://www.oracle.com/cn/java/technologies/javase/javase8u211-later-archive-downloads.html

mkdir -p /usr/local/java && mkdir -p /usr/local/rocketmq
cd /soft
tar zxvf jdk-8u351-linux-x64.tar.gz -C /usr/local/java
unzip rocketmq-all-4.9.5-bin-release.zip -d /usr/local/rocketmq

1.2 配置环境变量

vi /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export JRE_HOME=/usr/local/java/jdk1.8.0_351/jre
export ROCKETMQ_HOME=/usr/local/rocketmq/rocketmq-all-4.9.5-bin-release
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ROCKETMQ_HOME/bin:$PATH:$HOME/bin
source /etc/profile

1.3 修改NameServer启动

修改 /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release/bin/runserver.sh ⽂件,RocketMQ默认设置的JVM内存为4G,如果安装环境内存不够,需要调整。

修改前

在这里插入图片描述

修改后

在这里插入图片描述


# 启动NameServer
[root@bogon /]# cd /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release/bin
[root@bogon bin]# nohup ./mqnamesrv &
[1] 8716
[root@bogon bin]# nohup: 忽略输入并把输出追加到"nohup.out"

# 关闭NameServer
[root@bogon bin]# ./mqshutdown namesrv
# 查看启动日志
[root@bogon bin]# cat nohup.out
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON

1.4 修改broker启动

修改 /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release/bin/runbroker.sh ⽂件,RocketMQ默认设置的JVM内存为8G,如果安装环境内存不够,需要调整。

修改前

在这里插入图片描述

修改后

在这里插入图片描述

修改 /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release/conf/broker.conf ⽂件,加⼊如下配置开启⾃动创建Topic功能。

autoCreateTopicEnable=true

在这里插入图片描述

# 启动broker
[root@bogon /]# cd /usr/local/rocketmq/rocketmq-all-4.9.5-bin-release/bin
[root@bogon bin]# nohup ./mqbroker -n 10.10.60.172:9876 &
[2] 8863
[root@bogon bin]# nohup: 忽略输入并把输出追加到"nohup.out"

# 关闭broker
[root@bogon bin]# ./mqshutdown broker
# 查看启动日志
[root@bogon bin]# cat nohup.out 
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON
The broker[bogon, 10.10.60.172:10911] boot success. serializeType=JSON and name server is 10.10.60.172:9876

1.5 安装可视化控制台

版本文档发布日期Source 下载Binary 下载End of Support
1.0.0Release Notes2021.9.23download.zip

rocketmq-dashboard 是一个springboot项目,在application.properties文件中配置NameServer地址。

在这里插入图片描述

启动访问:http://localhost:8080/

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值