RocketMQ、Dashboard部署以及安全设置
RocketMQ、dashboard部署以及安全设置
- 一、启动RocketMQ
- 1.1 下载RocketMQ
- 1.2 修改配置文件
- 1.2.1 修改nameServer Jvm内存配置
- 1.2.2 修改broker参数
- 1.3 启动
- 1.3.1 启动NameServer
- 1.3.2 启动Broker
- 1.3.3 测试是否启动成功
- 1.3.3.1 测试消息发送
- 1.3.3.2 测试消息接收
- 1.3.3.3 Java程序发送消息
- 1.3.4 关闭NameServer和broker
- 1.3.5 汇总启动脚本
- 二、启动RocketMQ Dashboard
- 2.1 下载Dashboard源码
- 2.2 Maven打包
- 2.3 上传到Linux服务器
- 2.4 启动Dashboard
- 2.5 访问面板
- 三、设置密码
- 3.1 RocketMQ配置密码
- 3.1.1 开启acl控制
- image-202308142305488723.1.2 配置账号密码
- 3.2 配置面板中的密码
- 3.2.1 在dashboard.jar包同级目录创建config文件夹
- 3.2.2 上传application.properties
- 3.2.3 修改application.properties
- 3.2.4 重启dashboard
- 3.3 面板开启账号密码
- 3.3.1 开启账号密码访问
- 3.3.2 修改账号密码
- 3.3.3 修改默认用户配置文件路径
- 3.3.4 重启dashboard
一、启动RocketMQ
1.1 下载RocketMQ
RocketMQ安装包下载地址:https://rocketmq.apache.org/download

在/opt文件夹下建立rocketmq文件夹,存放rocketmq相关文件
cd /opt
mkdir rocketmq
cd rocketmq/
复制RocketMQ下载路径

以当前最新版:5.1.3为例,下载链接为:https://dist.apache.org/repos/dist/release/rocketmq/5.1.3/rocketmq-all-5.1.3-bin-release.zip
使用wget直接下载到当前路径
wget https://dist.apache.org/repos/dist/release/rocketmq/5.1.3/rocketmq-all-5.1.3-bin-release.zip
如果没有wget,先进行安装
yum -y install wget
下载成功

使用unzip解压
unzip rocketmq-all-5.1.3-bin-release.zip
如果没有unzip,则先安装
yum install -y unzip zip
查看结果

修改文件夹名字(文件夹名字太长,看着不舒服)
mv rocketmq-all-5.1.3-bin-release rocketmq-5.1.3

至此,RocketMQ相关文件准备工作已完成
1.2 修改配置文件
由于RocketMQ默认配置比较高,我们要根据自己的机器配置调整相关参数。(如果机器配置比较高,可以直接调到1.3 启动章节)
1.2.1 修改nameServer Jvm内存配置
/opt/rocketmq/rocketmq-5.1.3/bin
vim runserver.sh
修改-Xms4g -Xmx4g -Xmn2g,三个参数

- Xms 为jvm启动时分配的内存,比如-Xms512m,表示分配512M
- Xmx 为jvm运行过程中分配的最大内存,比如-Xms512m,表示jvm进程最多只能够占用512M内存
- Xmn 堆内新生代的大小,-Xmn256m代表新生代大小为256M
在这边,根据自己的配置,调整为以下参数:

1.2.2 修改broker参数
vim runbroker.sh

- -Xms -Xmx 上面已经说明了
- -XX:MaxDirectMemorySize 用于设置直接内存的最大大小。
根据机器配置,修改为以下:

1.2.3 修改broker配置
cd /opt/rocketmq/rocketmq-5.1.3/conf/
1.3 启动
1.3.1 启动NameServer
# 启动NameServer
sh bin/mqnamesrv &
# 查看日志
tail -f ~/logs/rocketmqlogs/namesrv.log
日志中显示:The Name Server boot success. serializeType=JSON, address 0.0.0.0:9876
代表已经启动
1.3.2 启动Broker
# 在rocketmq-5.1.3目录启动Broker,使用conf/broker.conf配置文件
nohup sh bin/mqbroker -c conf/broker.conf -n localhost:9876 &# 查看日志
tail -f ~/logs/rocketmqlogs/proxy.log
1.3.3 测试是否启动成功
1.3.3.1 测试消息发送
export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
成功示例:

1.3.3.2 测试消息接收
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
成功示例:

1.3.3.3 Java程序发送消息
注意linux服务器要开放对应的端口!
Maven项目引入依赖
<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>5.1.1</version>
</dependency>
测试类
public class ASimpleTest {public static void main(String[] args) throws Exception{// 创建一个生产者(指定一个组名)DefaultMQProducer producer = new DefaultMQProducer("test-producer-group");// 连接namersrvproducer.setNamesrvAddr("192.168.1.7:9876");// 启动producer.start();for (int i = 0; i < 10; i++) {Message testTopic = new Message("testTopic", "我是一个简单的消息".getBytes());SendResult send = producer.send(testTopic);System.out.println(send.getSendStatus());}producer.shutdown();}
}
输出:

1.3.4 关闭NameServer和broker
# 关闭broker
sh bin/mqshutdown broker
# 关闭namesrv
sh bin/mqshutdown namesrv
1.3.5 汇总启动脚本
结合前面的脚本,汇总成一个统一的脚本
创建文件
vim restart.sh
脚本内容
# 关闭broker
sh bin/mqshutdown broker
# 关闭namesrv
sh bin/mqshutdown namesrv
# 启动namersrv
sh bin/mqnamesrv &
# 启动broker
nohup sh bin/mqbroker -c conf/broker.conf -n localhost:9876 &
之后,只要执行sh restart.sh即可快速重启
至此,RocketMQ的启动、测试是否启动以及关闭已经说明完毕
二、启动RocketMQ Dashboard
RocketMQ Dashboard是一个用于管理和监控Apache RocketMQ消息队列的Web界面。
2.1 下载Dashboard源码
RocketMq Dashboard下载地址

下载到本地或者Linux环境(因为我只有本地有Maven,所以下载到Windows环境)

2.2 Maven打包
解压后,进入文件夹

执行Maven命令,打出对应jar包
mvn clean package
2.3 上传到Linux服务器
将target文件夹底下的rocketmq-dashboard-1.0.0.jar上传到服务器


2.4 启动Dashboard
启动dashboard,指定Dashboard端口为18001,NameServer地址为127.0.0.1:9876
nohup java -jar rocketmq-dashboard-1.0.0.jar --server.port=18001 --rocketmq.config.namsrvAddr=127.0.0.1:9876 > dashboard.log 2>&1 &
2.5 访问面板

至此,RocketMQ面板启动完成。但是在实际使用中,还会对RocketMQ的访问增加密码限制,接下来,进行密码设置
三、设置密码
3.1 RocketMQ配置密码
3.1.1 开启acl控制
在conf/broker.conf中开启aclEnable=true
vim conf/broker.conf
在最底下追加
3.1.2 配置账号密码
修改conf/plain_acl.yml

重启NameServer和Broker
重新访问面板,发现报错了

3.2 配置面板中的密码
3.2.1 在dashboard.jar包同级目录创建config文件夹

3.2.2 上传application.properties
将项目底下的application.properties上传到config文件夹下


3.2.3 修改application.properties
将注释放开,设置对应的账号密码

结果:

3.2.4 重启dashboard
具体操作,参考文章:SpringBoot jar包部署
重新访问面板,发现可正常访问
3.3 面板开启账号密码
当前,已经为RocketMQ设置了密码,但是,还存在问题,操作面板没有设置密码,操作面板没有设置密码,在实际应用中,也是很危险的。下面讲解面板设置密码:
3.3.1 开启账号密码访问
修改application.properties

修改为:
rocketmq.config.loginRequired=true
重新访问,发现需要账号密码

账号密码配置文件为:users.properties
路径:

说明:

得知,管理员默认账号为admin,密码为admin.
3.3.2 修改账号密码
将users.properties上传到config目录,修改内容为

3.3.3 修改默认用户配置文件路径
修改application.properties
vim application.properties

将其修改为:
rocketmq.config.dataPath=./config
3.3.4 重启dashboard
重启后,使用账号zhangsan,密码:123 登录成功。

至此,RocketMQ部署已经完毕
参考文章:RocketMQ官网快速开始
相关文章:
RocketMQ、Dashboard部署以及安全设置
RocketMQ、dashboard部署以及安全设置 一、启动RocketMQ1.1 下载RocketMQ1.2 修改配置文件1.2.1 修改nameServer Jvm内存配置1.2.2 修改broker参数 1.3 启动1.3.1 启动NameServer1.3.2 启动Broker1.3.3 测试是否启动成功1.3.3.1 测试消息发送1.3.3.2 测试消息接收1.3.3.3 Java程…...
Android AlarmManager设置闹钟
官网镇楼:设置重复闹铃时间 闹钟具有以下特征: 它们可让您按设定的时间和/或间隔触发 intent。您可以将它们与广播接收器结合使用,以启动服务以及执行其他操作。它们在应用外部运行,因此即使应用未运行,或设备本身处…...
【C# 基础精讲】LINQ to XML查询
LINQ to XML 是 C# 中用于查询和操作 XML 数据的强大工具。它允许您使用 LINQ 查询语法对 XML 文档进行查询、过滤、投影等操作,从而更加方便地处理 XML 数据。本文将详细介绍 LINQ to XML 的基本概念、常见操作以及示例,帮助您了解如何在 C# 中使用 LIN…...
Java学习笔记——(20)标识符命名规则和规范
什么叫标识符 Java 对各种变量、方法和类等命名时使用的字符序列成为标识符凡是自己可以起名字的地方都叫标识符 标识符的命名规则(必须遵守) 由26个英文字母大小写,0-9,_ 或 $ 组成数字不可以开头不可以使用关键字和保留字Jav…...
过滤字符,绕过
构造不包含字母和数字的webshell <?phpecho "A"^""; ?>运行结果为! 代码中对字符"A"和字符”"进行了异或操作。在PHP中,两个变量进行异或时,先会将字符串转换成ASCII值,再将ASCII值转换成二进制…...
Apache Doris 入门教程32:物化视图
物化视图 物化视图是将预先计算(根据定义好的 SELECT 语句)好的数据集,存储在 Doris 中的一个特殊的表。 物化视图的出现主要是为了满足用户,既能对原始明细数据的任意维度分析,也能快速的对固定维度进行分析查询。 …...
PHP substr()函数详解,PHP截取字符串。
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 substr 一、截取字符串二、截取中文字符串三、leng…...
关于flink-sql-connector-phoenix的重写逻辑
目录 重写意义 代码结构 调用链路 POM文件配置 代码解析 一、PhoenixJdbcDynamicTableFactory...
Django进阶:DRF(Django REST framework)
什么是DRF? DRF即Django REST framework的缩写,官网上说:Django REST framework是一个强大而灵活的工具包,用于构建Web API。 简单来说:通过DRF创建API后,就可以通过HTTP请求来获取、创建、更新或删除数据(…...
Flink CDC系列之:Oracle CDC 导入 Elasticsearch
Flink CDC系列之:Oracle CDC 导入 Elasticsearch 一、深入理解Flink Oracle CDC Connector二、创建docker-compose.yml文件三、启动容器四、下载Flink Oracle CDC的jar包五、启动 Flink 集群,再启动 SQL CLI六、检查 ElasticSearch 中的结果七、在 Oracl…...
Linux忘记root密码解决方法
当我们忘记root密码进不去服务器怎么办?不要担心,可以进入到linux的救援模式修改root密码。 下面直接上干货,流程如下: 1.重启电脑,按上下键滑动,保证不进入开机流程,然后按e键 2.出现此页面…...
AR/VR眼镜转接器方案,实现同时传输视频快充方案
简介 虚拟现实头戴显示器设备,简称VR头显VR眼镜,是利用仿真技术与计算机图形学人机接口技术多媒体技术传感技术网络技术等多种技术集合的产品,是借助计算机及最新传感器技术创造的一种崭新的人机交互手段。VR头显VR眼镜是一个跨时代的产品。不…...
ASP.NET Core中路由规则匹配
RESTful约束,如果在一个控制器里面有多个Get、Post...的操作 1、在一个控制器里面可以定义多个API方法 2、通过路由规则来区分 /// <summary> /// 获取用户信息 /// </summary> /// <param name"user"></param> /// <returns…...
IDEA:Error running,Command line is too long. 解决方法
报错如下: Error running SendSmsUtil. Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun.原因是启动命令过长。 解决方法: 1、打开Edit Configurations 2、点击Modify options设置&#x…...
什么是反射机制?为什么反射慢?
目录 面试回答 知识扩展 反射常见的使用方式 反射和 Class 的关系 面试回答 反射指的是程序在运行时能够获取自身的信息。在 java 中,只要给定类的名字,那么就可以通过反射机制来获得类的所有属性和方法。 Java 的反射可以: 在运行时判断…...
list元素
列表元素 列表元素分为有序列表和无序列表 有序列表 ol – order list – 有序列表 li – list item – 列表元素 <ol type"1"><li>有序列表1</li><li>有序列表2</li><li>有序列表3</li> </ol>属性 type type属…...
OkHttp 源码浅析一
演进之路:原生Android框架不好用 ---- HttpUrlConnect 和 Apache HTTPClient 第一版 底层使用HTTPURLConnect 第二版 Square构建 从Android4.4开始 基本使用: val okhttp OkHttpClient()val request Request.Builder().url("http://www.baidu.com").buil…...
【解决问题】远程仓库GitHub/GitLab添加了SSH Key之后依然无法clone的解决办法
GitHub/GitLab添加了SSH Key之后依然无法clone的解决办法 问题现象解决办法 问题现象 在Git远程仓库添加了自己的ssh key到账户下,git clone时,依然报错clone失败,请检查是否没有权限进行clone操作。 解决办法 在git的安装目录下ÿ…...
回归预测 | MATLAB实现SA-SVM模拟退火算法优化支持向量机多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现SA-SVM模拟退火算法优化支持向量机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现SA-SVM模拟退火算法优化支持向量机多输入单输出回归预测(多指标,多图)效果一览基本…...
Spring事务和事务传播机制(1)
前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 在Spring框架中,事务管理是一种用于维护数据库操作的一致性和…...
B站成分检测器:3分钟快速安装指南,智能识别评论区用户真实身份
B站成分检测器:3分钟快速安装指南,智能识别评论区用户真实身份 【免费下载链接】bilibili-comment-checker B站评论区自动标注成分,支持动态和关注识别以及手动输入 UID 识别 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-comme…...
大语言模型底层逻辑:从LM到Agent的完整工作流解析!
本文深入剖析了大语言模型(LM)的核心架构与工作原理,重点介绍了Token作为数据处理单元、Context作为临时记忆体的作用,以及Prompt、Tool、MCP等关键组件如何协同运作。文章还探讨了Agent的自主决策系统与Agent Skill的任务定制机制…...
免费抠图软件一键抠图无水印有哪些?2026年最全工具推荐
最近在小红书和抖音上,我看到很多人都在问同一个问题:有没有好用的免费抠图软件,一键抠图还无水印的?说实话,现在抠图工具确实多,但真正好用的、免费的、还无水印的,选择反而没那么多。我自己用…...
为Claude Code配置Taotoken解决API密钥不稳定与Token不足问题
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为Claude Code配置Taotoken解决API密钥不稳定与Token不足问题 应用场景类,许多开发者使用Claude Code作为编程助手但常…...
https://github.com/langgenius/dify查看设置的apikey
现在我已经掌握了足够的信息,来做一个完整清晰的分析。好的,现在我来给出一个完整的分析。 Dify provider_model_credentials.encrypted_config 解密分析 整体加密架构 Dify 使用 PKCS1_OAEP 加密来保护 API key。每个用户(tenant)…...
弹球打砖块
<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0, user-scalableno"><title>弹球打砖块</title><…...
oracle 大表(1亿以上)迁移笔记一
作者:蓝鸟 1974 CSDN:https://blog.csdn.net/weixin_42767242 关键字 大表迁移、存储过程批量归档、定时 JOB、索引维护、统计信息收集、NOLOGGING、BULK COLLECT、FORALL 一、场景概述 在医院 HIS/EMR 系统中,业务流水表、病历明细表数据增长极快,单表数据量轻松突破…...
基于加速度计与舵机的自由落体检测滑翔机设计与实现
1. 项目概述:一个基于自由落体检测的自动减速滑翔机如果你对嵌入式硬件、传感器应用或者简单的物理模型感兴趣,那么这个项目绝对能让你玩上一下午。它的核心想法非常直观:我们利用一块内置了加速度计的微控制器板(Circuit Playgro…...
数字IC前端学习笔记:从结构到实现,深入剖析Wallace Tree乘法器的性能优势
1. 为什么需要Wallace Tree乘法器 在数字IC设计中,乘法器是最基础也最关键的运算单元之一。传统的阵列乘法器虽然结构简单直观,但随着位宽增加,其关键路径延迟会呈平方级增长。我曾经在设计一个32位乘法器时,发现阵列结构的延迟直…...
DeepSeek MMLU成绩暴涨11.2分的秘密武器:不是更大参数,而是这个被顶会论文雪藏2年的校准框架(附开源复现代码)
更多请点击: https://intelliparadigm.com 第一章:DeepSeek MMLU成绩暴涨11.2分的实证现象 近期,DeepSeek-R1 在大规模多任务语言理解(MMLU)基准测试中取得显著突破——其零样本准确率从 72.3% 提升至 83.5%ÿ…...
