RocketMQ 5.0安装部署

0.前言

在微服务架构逐渐成为主流的今天,消息队列如同数字世界的快递员,承担着系统间高效通信的重要使命。

Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景。

1.本地部署RockerMQ5.0

系统要求:

64位操作系统,推荐 Linux/Unix/macOS

64位 JDK 1.8+

下载安装安装包:

二进制包下载地址:https://dist.apache.org/repos/dist/release/rocketmq/5.3.1/rocketmq-all-5.3.1-bin-release.zip

解压安装包:

解压目录如下

启动NameServer:

到解压目录的bin目录下,输入命令启动NameServer

nohup sh mqnamesrv &

验证NameServer是否启动成功

tail -f ~/logs/rocketmqlogs/namesrv.log

我们可以在namesrv.log 中看到 'The Name Server boot success..', 表示NameServer 已成功启动。

启动Broker和Proxy:

NameServer成功启动后,我们启动Broker和Proxy。这里我们使用 Local 模式部署,即 Broker 和 Proxy 同进程部署。5.x 版本也支持 Broker 和 Proxy 分离部署以实现更灵活的集群能力。

到bin目录下输入命令启动broker

nohup sh mqbroker -n localhost:9876 --enable-proxy &

输入命令,验证broker是否启动成功

tail -f ~/logs/rocketmqlogs/proxy.log 

我们可以在 proxy.log 中看到“The broker[brokerName,ip:port] boot success..”,这表明 broker 已成功启动。

停止服务:

到bin目录下输入命令停止服务

sh mqshutdown broker
    sh mqshutdown namesrv

    至此rockertMQ5.0本地部署完成。

    2.docker部署

    拉取RocketMQ镜像:

    docker pull apache/rocketmq:5.3.1

    创建容器共享网络:

    RocketMQ 中有多个服务,需要创建多个容器,创建 docker 网络便于容器间相互通信。

    docker network create rocketmq

    启动NameServer:

    输入命令启动NameServer

    docker run -d --name rmqnamesrv -p 9876:9876 --network rocketmq apache/rocketmq:5.3.1 sh mqnamesrv

    验证 NameServer 是否启动成功

    docker logs -f rmqnamesrv

    看到 'The Name Server boot success..', 表示NameServer 已成功启动。

    启动 Broker+Proxy:

    NameServer 成功启动后,我们启动 Broker 和 Proxy。

    配置 Broker 的IP地址

    echo "brokerIP1=127.0.0.1" > broker.conf

    启动 Broker 和 Proxy

    docker run -d \
    --name rmqbroker \
    --network rocketmq \
    -p 10912:10912 -p 10911:10911 -p 10909:10909 \
    -p 8080:8080 -p 8081:8081 \
    -e "NAMESRV_ADDR=rmqnamesrv:9876" \
    -v ./broker.conf:/home/rocketmq/rocketmq-5.3.1/conf/broker.conf \
    apache/rocketmq:5.3.1 sh mqbroker --enable-proxy \
    -c /home/rocketmq/rocketmq-5.3.1/conf/broker.conf

    验证 Broker 是否启动成功

    docker exec -it rmqbroker bash -c "tail -n 10 /home/rocketmq/logs/rocketmqlogs/proxy.log"

    看到 'The broker boot success..', 表示 Broker 已成功启动

    停止容器:

    停止 NameServer 容器

    docker stop rmqnamesrv

    停止 Broker 容器

    docker stop rmqbroker

    3.管理工具RocketMQ Dashboard部署

    RocketMQ Dashboard 是 RocketMQ 的管控利器,为用户提供客户端和应用程序的各种事件、性能的统计信息,支持以可视化工具代替 Topic 配置、Broker 管理等命令行操作。

    方式一源码安装

    到github下载源码:https://github.com/apache/rocketmq-dashboard

    使用IDEA打开,使用maven编译

    修改配置文件端口号,防止8080端口冲突

    直接运行APP.calss 方法,打开浏览器访问:http://127.0.0.1:9999/

    方式二docker安装:

    拉取 rocketmq-dashboard 镜像

    docker pull apacherocketmq/rocketmq-dashboard:latest

    运行 rocketmq-dashboard

    docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876" -p 9999:8080 -t apacherocketmq/rocketmq-dashboard:latest

    namesrv.addr:port 替换为 rocketmq 中配置的 nameserver 地址:端口号。

    浏览器访问:http://127.0.0.1:9999/

    仪表盘功能介绍如下:

    4.最后

    至此rocketMQ5.0的部署安装完成,详情可到官网查看:https://rocketmq.apache.org/

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895697.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    Ubuntu 22.04.5 LTS 安装企业微信,(2025-02-17安装可行)

    一、依赖包(Ubuntu 20.04/Debian 11) 点击下载https://www.spark-app.store/download_dependencies_latest 1、 下载最新的依赖包。 请访问星火应用商店依赖包下载页面, 下载最新的依赖包。2、解压依赖包 </

    如何使用 HPjtune 分析 Java GC 日志并优化 JVM 性能

    HPjtune 是一款用于分析 Java 应用程序垃圾回收&#xff08;GC&#xff09;日志的工具&#xff0c;主要用于优化 JVM 性能。虽然 HPjtune 本身并不直接生成 HTML 格式的报告&#xff0c;但可以通过结合其他工具或方法将分析结果导出为 HTML 格式。以下是实现这一目标的步骤和方…

    国产FPGA开发板选择

    FPGA开发板是学习和开发FPGA的重要工具&#xff0c;选择合适的开发板对学习效果和开发效率至关重要。随着国产FPGA的发展&#xff0c;淘宝上的许多FPGA开发板店铺也开始进行国产FPGA的设计和销售&#xff0c;本文将对国产FPGA和相关店铺做个简单梳理&#xff0c;帮助有需要使用…

    Java高频面试之SE-22

    hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天又来了&#xff01;哈哈哈哈哈嗝&#x1f436; Java中的Optional了解多少&#xff1f; 在 Java 中&#xff0c;Optional 是 Java 8 引入的一个容器类&#xff0c;用于显式处理可能为 null 的…

    使用OBS和nginx实现直播流

    使用OBS和nginx实现直播流&#xff0c;如 1&#xff0c;下载OBS OBS用于视频录制和直播的免费开源软件。在 Windows、Mac 或 Linux 上快速轻松地下载并开始流式传输。官网下载 2&#xff0c;下载nginx 注意nginx需要下载带gryghon版本&#xff0c;这个才有rtmp模块&#xff0…

    PyTorch 源码学习:阅读经验 代码结构

    分享自己在学习 PyTorch 源码时阅读过的资料。本文重点关注阅读 PyTorch 源码的经验和 PyTorch 的代码结构。因为 PyTorch 不同版本的源码实现有所不同&#xff0c;所以笔者在整理资料时尽可能按版本号升序&#xff0c;版本号见标题前[]。最新版本的源码实现还请查看 PyTorch 仓…

    python实现jaccard系数得出两个集合的相似度

    python实现jaccard系数得出两个集合的相似度 1、简介 计算两个集合之间的Jaccard系数是一种常用的方法,用于衡量这两个集合的相似度。 Jaccard系数定义为两个集合交集大小与它们并集大小的比值。 Jaccard 系数的值范围在 0 到 1 之间,值越大表示两个集合越相似。 2、求两个…

    小爱音箱控制手机和电视听歌的尝试

    最近买了小爱音箱pro&#xff0c;老婆让我扔了&#xff0c;吃灰多年的旧音箱。当然舍不得&#xff0c;比小爱还贵&#xff0c;刚好还有一台红米手机&#xff0c;能插音箱&#xff0c;为了让音箱更加灵活&#xff0c;买了个2元的蓝牙接收模块Type-c供电3.5接口。这就是本次尝试起…

    Pycharm+CodeGPT+Ollama+Deepseek

    首先&#xff0c;体验截图&#xff1a; 接着&#xff1a; 1、下载Ollama&#xff1a; Download Ollama on macOS 2、下载模型 以1.5b为例&#xff0c;打开命令行&#xff0c;输入: ollama run deepseek-r1:1.5b 3、Pycharm安装Code GPT插件 打开PyCharm&#xff0c;找到文…

    如何确保 for...in 循环按照特定顺序遍历对象属性

    由于 for...in 循环遍历对象属性的顺序在 ECMAScript 规范中没有严格规定&#xff0c;若要确保按照特定顺序遍历对象属性&#xff0c;不能直接依赖 for...in 本身&#xff0c;不过可以借助一些其他方法来实现。以下是几种常见的解决方案&#xff1a; 1. 使用数组存储属性名并排…

    25/2/17 <嵌入式笔记> 桌宠代码解析

    这个寒假跟着做了一个开源的桌宠&#xff0c;我们来解析下代码&#xff0c;加深理解。 代码中有开源作者的名字。可以去B站搜着跟着做。 首先看下main代码 #include "stm32f10x.h" // Device header #include "Delay.h" #include &quo…

    Qt中基于开源库QRencode生成二维码(附工程源码链接)

    目录 1.QRencode简介 2.编译qrencode 3.在Qt中直接使用QRencode源码 3.1.添加源码 3.2.用字符串生成二维码 3.3.用二进制数据生成二维码 3.4.界面设计 3.5.效果展示 4.注意事项 5.源码下载 1.QRencode简介 QRencode是一个开源的库&#xff0c;专门用于生成二维码&…

    【Android开发】华为手机安装包安装失败“应用是非正式版发布版本,当前设备不支持安装”问题解决

    问题描述 我们将Debug版本的安装包发送到手机上安装&#xff0c;会发现华为手机有如下情况 解决办法 在文件gradle.properties中粘贴代码&#xff1a; android.injected.testOnlyfalse 最后点击“Sync now”&#xff0c;等待重新加载gradle资源即可 后面我们重新编译Debug安装…

    前端面试手写--虚拟列表

    目录 一.问题背景 二.代码讲解 三.代码改装 四.代码发布 今天我们来学习如何手写一个虚拟列表,本文将把虚拟列表进行拆分并讲解,然后发布到npm网站上. 一.问题背景 为什么需要虚拟列表呢?这是因为在面对大量数据的时候,我们的浏览器会将所有数据都渲染到表格上面,但是渲…

    vue项目本地svg图标使用

    提前准备&#xff1a; 1、一个本地的svg图片 这个直接从网上找一个就行 2、文件整体目录 安装插件 npm i vite-plugin-svg-iconsvite.config.ts中配置插件 完整代码 import { fileURLToPath, URL } from node:url import { resolve } from path import { defineConfig } f…

    Go: 使用VS Code配置Go项目支持Windows与Linux双系统调试

    在现代软件开发中&#xff0c;越来越多的开发者开始使用VS Code等集成开发环境&#xff08;IDE&#xff09;来提高生产力&#xff0c;特别是在支持远程开发时。VS Code的远程SSH功能&#xff0c;使得开发者可以在本地Windows电脑上&#xff0c;通过远程SSH连接到Linux服务器&am…

    萌新学 Python 之集合 set

    集合 set&#xff1a;使用一对大括号&#xff0c;元素写在大括号之间&#xff0c;使用逗号分隔 集合中的元素只能是不可变的数据类型&#xff0c;不能是列表、字典和集合 set1 {1, 2, 3} set2 {1, a, (1, 2, 3)} print(type(set1), type(set2)) # <class set> <c…

    python中使用数据库sqlite3

    Python使用sqlite3数据库 python3.x标准库内置了SQLite3 查看sqlite的版本 import sqlite3 sqlite_version sqlite3.sqlite_version print(f"SQLite version: {sqlite_version}") 显示 导入模块连接sqlitte3 import sqlite3 consqlite3.connect("d:/fi…

    maven使用默认settings.xml配置时,Idea基于pom.xml更新依赖时报错,有些组件下载时连接超时

    1、问题背景&#xff1a;maven使用默认settings.xml配置时&#xff0c;Idea基于pom.xml更新依赖时报错&#xff0c;有些组件下载时连接超时&#xff0c; 通过日志发下&#xff0c;去连接maven.org网站下载依赖&#xff0c;有时候肯定会超时。 2、解决办法&#xff1a;使用国外…

    小狐狸ai3.1.2版本源码无授权版本内 含搭建教程+各种上线教程

    内容目录 一、详细介绍小狐狸3.1.2版本源码&#xff0c;新增deepseek接口 文件夹说明&#xff1a; 1、后端&#xff1a;文件夹是后台文件 5、.sql文件是数据库文件后台安装步骤&#xff1a; 1、在宝塔新建个站点&#xff0c;php版本使用7.4&#xff0c;将“后端”文件夹里的文件…