【Spring Cloud Alibaba】Linux安装RocketMQ以及RocketMQ Dashboard可视化工具

news2025/2/26 14:35:53

环境准备:Linux安装Java环境(OracleJDK)

在当今分布式架构的开发中,消息队列成为了一种常见的解决方案。RocketMQ是阿里巴巴开源的分布式消息中间件,具有高吞吐量、高可用性和强大的扩展性,因此在构建大规模、高可靠性的应用系统时备受推崇。而在使用RocketMQ时,为了更好地了解消息的流动和监控,RocketMQ Dashboard成为了一个不可或缺的可视化工具。

本篇博客将带大家一步步在Linux系统中安装RocketMQ,并介绍如何配置和使用RocketMQ Dashboard。我们将深入探讨这两者的安装与集成过程,帮助大家快速上手并运用于实际项目中。无论是初次接触Spring Cloud Alibaba,还是对RocketMQ和Dashboard感兴趣,本文都将为大家提供详尽的指导与实例。

文章目录

  • 💽 rocketmq
    • 💽第一步,下载
    • 💽第二步,解压
    • 💽第三步,启动NameServer
    • 💽第四步,启动Broker
    • 💽第五步,关闭服务
  • 💽rocketmq-dashboard
    • 💽第一步,下载rocketmq-dashboard
    • 💽第二步,解压打包启动

💽 rocketmq

💽第一步,下载


https://archive.apache.org/dist/rocketmq/4.9.1/

ROCKETMQ下载
RocketMQ 的安装包分为两种,二进制包和源码包。
二进制包是已经编译完成后可以直接运行的,源码包是需要编译后运行的

下载二进制包

在这里插入图片描述

💽第二步,解压

unzip rocketmq-all-4.9.1-bin-release.zip 

在这里插入图片描述

💽第三步,启动NameServer

运行bin文件夹里面的mqnamesrv脚本

sh mqnamesrv

如果启动不成功,报错如下

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.
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006ec800000, 2147483648, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2147483648 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /opt/rocketmq/rocketmq-all-4.9.1-bin-release/bin/hs_err_pid19004.log

那就是jvm内存不足,修改runserver.sh,原因是mqnamesrv实际运行的是runserver.sh脚本

mqnamesrv:

在这里插入图片描述

vim runserver.sh

在这里插入图片描述

修改为

-Xms256m -Xmx256m -Xmn125m 

在这里插入图片描述

出现下面语句则启动成功

The Name Server boot success. serializeType=JSON

在这里插入图片描述

编写启动脚本后台运行

vim startup.sh

添加内容如下

nohup sh bin/mqnamesrv &

运行启动脚本即可

在这里插入图片描述

上面启动的NameServer在rocketmq中的位置如下

在这里插入图片描述

NameServer是一个简单的 Topic 路由注册中心,支持 Topic、Broker 的动态注册与发现。
主要包括两个功能:
Broker管理,NameServer接受Broker集群的注册信息并且保存下来作为路由信息的基本数据。然后提供心跳检测机制,检查Broker是否还存活;
路由信息管理,每个NameServer将保存关于 Broker 集群的整个路由信息和用于客户端查询的队列信息。Producer和Consumer通过NameServer就可以知道整个Broker集群的路由信息,从而进行消息的投递和消费。
NameServer通常会有多个实例部署,各实例间相互不进行信息通讯。Broker是向每一台NameServer注册自己的路由信息,所以每一个NameServer实例上面都保存一份完整的路由信息。当某个NameServer因某种原因下线了,客户端仍然可以向其它NameServer获取路由信息。

💽第四步,启动Broker

如果你的mq部署在公网上面,例如阿里云

vim conf/broker.conf

修改broker配置文件,否则别的应用连接不上
新增两行:

namesrvAddr = xx.xx.xx.xx:9876
brokerIP1=xx.xx.xx.xx  # 你的公网IP

在这里插入图片描述

nohup sh bin/mqbroker -c conf/broker.conf -n localhost:9876 &

在这里插入图片描述

-n localhost:9876的意思就是指定nameserver地址为localhost:9876,可以通过-h查看配置信息

如果出现了以下的报错信息,则情况和nameserver一样需要修改启动脚本

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /opt/rocketmq/rocketmq-all-4.9.1-bin-release/hs_err_pid24331.log
vim bin/runbroker.sh 

在这里插入图片描述

-Xms256m -Xmx256m

在这里插入图片描述

再次启动即可,出现如下则成功

The broker[VM-12-4-centos, 10.0.12.4:10911] boot success. serializeType=JSON and name server is localhost:9876

至此,一个单Master的RocketMQ集群已经部署起来了
通过ps命令可以看到有两个服务启动成功

在这里插入图片描述

之后云服务器开放端口

在这里插入图片描述

💽第五步,关闭服务

$ sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK

$ sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

💽rocketmq-dashboard

💽第一步,下载rocketmq-dashboard


https://github.com/apache/rocketmq-dashboard

在这里插入图片描述

💽第二步,解压打包启动

mvn clean package -Dmaven.test.skip=true

之后会打成一个jar包

在这里插入图片描述

运行起来即可

nohup java -jar -Drocketmq.namesrv.addr=127.0.0.1:9876 rocketmq-dashboard-1.0.0.jar &

访问ip:8080 即可

在这里插入图片描述

通过本文的介绍和指导,大家应该已经成功地在Linux系统上安装了RocketMQ,并且了解了RocketMQ Dashboard的配置和使用方法。RocketMQ作为一款高性能、高可靠性的分布式消息中间件,在现代分布式架构的开发中发挥着不可或缺的作用。而RocketMQ Dashboard则为我们提供了一个直观、方便的可视化界面,让我们更加轻松地监控和管理消息队列。

在这里插入图片描述

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

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

相关文章

数据API服务管理功能 - 提升数据效率的关键工具

数据API服务管理功能 - 提升数据效率的关键工具 什么是数据API服务管理功能? 数据API服务管理功能是一种用于有效管理和控制数据API的工具。它为用户提供了方便的界面和功能,以简化数据访问、解析和处理的过程。通过使用数据API服务管理功能&#xff0…

预制混凝土产品公司【PreTam Holdings】申请纳斯达克IPO上市

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于智利的预制混凝土产品公司【PreTam Holdings】近期已向美国证券交易委员会(SEC)提交招股书,申请在纳斯达克IPO上市,股票代码为(…

带键盘扫描电路接口的 LED 驱动控制专用芯片

VK1Q60是一种带键盘扫描电路接口的 LED 驱动控制专用芯片,内部集成有数据锁存 器、LED 驱动、键盘扫描等电路。SEG脚接LED阳极,GRID脚接LED阴极,可支持 8SEGx4GRID的点阵LED显示。最大支持7x4按键。本芯片性能稳定质量可靠,抗…

心法利器[90-95] | 谈校招:合集

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 2022年新一版的文章合集已经发布,累计已经60w字了,获取方式看这里&…

腾讯云轻量应用服务器镜像应用模板清单大全

腾讯云轻量应用服务器支持多种应用模板镜像,Windows和Linux镜像模板都有,如:宝塔Linux面板腾讯云专享版、WordPress、WooCommerce、LAMP、Node.js、Docker CE、K3s、宝塔Windows面板和ASP.NET等应用模板镜像,腾讯云服务器网分享腾…

i茅台自动申购算法协议分析

首发地址:http://zhuoyue360.com/crack/104.html 一、引言 今日看到有人分享了i茅台自动申购的文章。但是它酷似引流文章,全文一张图,呜呜呜。无法白嫖。太可恶了,因此,我来啦~ 我来整一整,我也要抢茅子! …

第二章:CSS基础进阶-part3:弹性例子布局

文章目录 Flex盒模型二、常见属性2.1 flex属性2.2 justify-content2.3 flex-wrap2.4 flex-flow2.5 align-items2.6 父容器-align-content Flex盒模型 1、普通盒模型 2、弹性盒布局 使用弹性盒布局能让容器的宽度跟随浏览器窗口的变化而变换 二、常见属性 2.1 flex属性 2.2 …

玩机搞机---安卓全机型各种玩机 搞机工具 推荐 一

安卓机型有很多大佬开发的工具箱可以让你在玩机搞机中达到事半功倍的效果。虽然都是adb指令操作。但图形化直观界面一目了然。下面为感兴趣的友友推荐一些工具。 任何的联机操作都有可能导致手机系统崩溃 严重会不开机。请理解工具箱中各个选项操作原理。谨慎操作 &#x1f4…

API接口站点(淘宝1688京东商品详情)实时数据参考示例返回

现如今,随着互联网的发展,商品价格监控已经成为电商行业中的一项重要工具。具体而言,商品价格监控通常包括以下几个方面: 1.数据采集:商品价格监控需要从各个电商平台或者其他相关网站上采集商品的价格数据。这一步骤…

FPGA应用学习笔记----定点除法的实现

除以2可以这样移位 迭代除法,就是直接除 迭代除法,就是直接除 除数左移,被除数减去除数,余数大于0则商数置1然后左移,余数作为被减数左移,再减除数,再看余数是否大于0,若大于0&…

QT--崩溃原因分析

本文为学习记录,若有错误,请联系作者,谦虚受教。 文章目录 前言一、目的二、实现步骤1 add2line.exe2 分析文件3 crash文件 三、相关代码1 pro文件2.ccrashstack.h3.ccrashstack.cpp4.main.cpp 总结 前言 你从来来去自由,若你不想…

【前端】WeUI DatePicker时间组件绑定方法以及chatGPT回答

2023年,第33周,第1篇文章。给自己一个目标,然后坚持总会有收货,不信你试试! WeUI DatePicker,这个组件在纯html静态文件js里用的比较少,也忘记默认绑定值怎么设置,就用chatGPT来找答…

flutter相关URL schemes

先看效果 使用 url_launcher库 做唤起其他app操作 url_launcher | Flutter Package 配置 安卓 flutter 项目目录下的 android\app\src\main\AndroidManifest.xml 如果不配置的话 有些手机就打不开app 微信有两个 一个是weixin 一个是wechat <queries><!-- If you…

积木报表集成前端加载js文件404

项目场景&#xff1a; 在集成积木报表和shiro时候&#xff1a; 集成积木报表&#xff0c;shrio&#xff0c;shrio是定义在另一个模块下的&#xff0c;供另一个启动类使用&#xff0c;积木报表集成shrio的时候&#xff0c;需要依赖存放shrio的核心包&#xff0c;该核心包除了存…

异步编排CompletableFuture

文章目录 一.简介二.并行加载1.为何需要并行加载2.并行加载的实现方式 三.CompletableFuture使用与原理1.背景和定义2.常用方法3.CompletableFuture的使用3.CompletableFuture原理4.实践总结 一.简介 CompletableFuture由Java 8提供&#xff0c;是实现异步化的工具类&#xff…

JVM—内存管理(运行时数据区)

背景介绍 当JVM类加载器加载完字节码文件之后&#xff0c;会交给执行引擎执行&#xff0c;在执行的过程中会有一块JVM内存区域来存放程序运行过程中的数据&#xff0c;也就是我们图中放的运行时数据区&#xff0c;那这一块运行时数据区究竟帮我们做了哪些工作&#xff1f;我们…

rancher + k3s + docker私有仓库搭建K8环境(百分之百成功)

1.环境准备&#xff08;4台机器&#xff09; 文档准备了4台虚拟机&#xff0c;系统是ubuntu server: ubuntu-22.04.1-live-server-amd64.iso 然后进行安装4台虚拟机&#xff0c;如图&#xff1a; 其中一台用于rancher、其余三台跑K8&#xff0c;一台master&#xff0c;两台工作…

写测试用例、重构函数、生成SQL查询……原来CodeGeeX还能做这些!

CodeGeeX中的智能问答功能“Ask CodeGeeX”可以帮助程序员解答开发过程中遇到的问题。但是“Ask CodeGeeX”的能力不止于此&#xff0c;用它还能帮助程序员高效编写测试用例&#xff0c;添加代码调试信息&#xff0c;实现SQL语句等等。 如果你还不知道如何实现&#xff0c;下面…

途乐证券-新股行情持续火爆,哪些因素影响首日表现?

全面注册制以来&#xff0c;参加打新的投资者数量全体呈现下降。打新收益下降&#xff0c;破发频出的布景下&#xff0c;投资者打新策略从逢新必打逐步向优选个股改变。 经过很多历史数据&#xff0c;从商场定价、参加者热度以及机构重视度维度揭秘了上市后股价体现优秀的个股具…

启动springboot,出现Unable to start embedded Tomcat

报错信息 org.apache.catalina.core.ContainerBase : A child container failed during startjava.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbedd…