当前位置: 首页 > news >正文

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

image-20230812211334234

在/opt文件夹下建立rocketmq文件夹,存放rocketmq相关文件

cd /opt
mkdir rocketmq
cd rocketmq/

复制RocketMQ下载路径

image-20230812212341436

以当前最新版: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

下载成功

image-20230813002312327

使用unzip解压

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

如果没有unzip,则先安装

yum install -y unzip zip

查看结果

image-20230813152634278

修改文件夹名字(文件夹名字太长,看着不舒服)

mv rocketmq-all-5.1.3-bin-release rocketmq-5.1.3

image-20230813152742574

至此,RocketMQ相关文件准备工作已完成

1.2 修改配置文件

由于RocketMQ默认配置比较高,我们要根据自己的机器配置调整相关参数。(如果机器配置比较高,可以直接调到1.3 启动章节)

1.2.1 修改nameServer Jvm内存配置

/opt/rocketmq/rocketmq-5.1.3/bin
vim  runserver.sh

修改-Xms4g -Xmx4g -Xmn2g,三个参数

image-20230813154820305

  • Xms 为jvm启动时分配的内存,比如-Xms512m,表示分配512M
  • Xmx 为jvm运行过程中分配的最大内存,比如-Xms512m,表示jvm进程最多只能够占用512M内存
  • Xmn 堆内新生代的大小,-Xmn256m代表新生代大小为256M

在这边,根据自己的配置,调整为以下参数:

image-20230813160210939

1.2.2 修改broker参数

vim runbroker.sh

image-20230813160509019

  • -Xms -Xmx 上面已经说明了
  • -XX:MaxDirectMemorySize 用于设置直接内存的最大大小。

根据机器配置,修改为以下:

image-20230813160610504

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

成功示例:

image-20230814215834502

1.3.3.2 测试消息接收

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

成功示例:

image-20230815102513753

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();}
}

输出:

image-20230814220522423

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下载地址

image-20230814224704507

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

image-20230814224855505

2.2 Maven打包

解压后,进入文件夹

image-20230814225009203

执行Maven命令,打出对应jar包

mvn clean package

2.3 上传到Linux服务器

target文件夹底下的rocketmq-dashboard-1.0.0.jar上传到服务器

image-20230814225223551

image-20230814225308186

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 访问面板

image-20230814225640327

至此,RocketMQ面板启动完成。但是在实际使用中,还会对RocketMQ的访问增加密码限制,接下来,进行密码设置

三、设置密码

3.1 RocketMQ配置密码

3.1.1 开启acl控制

conf/broker.conf中开启aclEnable=true

vim conf/broker.conf

在最底下追加

image-202308142305488723.1.2 配置账号密码

修改conf/plain_acl.yml

image-20230814232003165

重启NameServer和Broker

重新访问面板,发现报错了

image-20230814234746516

3.2 配置面板中的密码

3.2.1 在dashboard.jar包同级目录创建config文件夹

image-20230814235138344

3.2.2 上传application.properties

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

image-20230814235226178

image-20230814235638553

3.2.3 修改application.properties

将注释放开,设置对应的账号密码

image-20230814235346543

结果:

image-20230814235535285

3.2.4 重启dashboard

具体操作,参考文章:SpringBoot jar包部署

重新访问面板,发现可正常访问

3.3 面板开启账号密码

当前,已经为RocketMQ设置了密码,但是,还存在问题,操作面板没有设置密码,操作面板没有设置密码,在实际应用中,也是很危险的。下面讲解面板设置密码:

3.3.1 开启账号密码访问

修改application.properties

image-20230815000509925

修改为:

rocketmq.config.loginRequired=true

重新访问,发现需要账号密码

image-20230815000731296

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

路径:

image-20230815002036146

说明:

image-20230815001101361

得知,管理员默认账号为admin,密码为admin.

3.3.2 修改账号密码

users.properties上传到config目录,修改内容为

image-20230815001413186

3.3.3 修改默认用户配置文件路径

修改application.properties

vim application.properties

image-20230815002119132

将其修改为:

rocketmq.config.dataPath=./config

3.3.4 重启dashboard

重启后,使用账号zhangsan,密码:123 登录成功。

image-20230815213015366

至此,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设置闹钟

官网镇楼&#xff1a;设置重复闹铃时间 闹钟具有以下特征&#xff1a; 它们可让您按设定的时间和/或间隔触发 intent。您可以将它们与广播接收器结合使用&#xff0c;以启动服务以及执行其他操作。它们在应用外部运行&#xff0c;因此即使应用未运行&#xff0c;或设备本身处…...

【C# 基础精讲】LINQ to XML查询

LINQ to XML 是 C# 中用于查询和操作 XML 数据的强大工具。它允许您使用 LINQ 查询语法对 XML 文档进行查询、过滤、投影等操作&#xff0c;从而更加方便地处理 XML 数据。本文将详细介绍 LINQ to XML 的基本概念、常见操作以及示例&#xff0c;帮助您了解如何在 C# 中使用 LIN…...

Java学习笔记——(20)标识符命名规则和规范

什么叫标识符 Java 对各种变量、方法和类等命名时使用的字符序列成为标识符凡是自己可以起名字的地方都叫标识符 标识符的命名规则&#xff08;必须遵守&#xff09; 由26个英文字母大小写&#xff0c;0-9&#xff0c;_ 或 $ 组成数字不可以开头不可以使用关键字和保留字Jav…...

过滤字符,绕过

构造不包含字母和数字的webshell <?phpecho "A"^""; ?>运行结果为! 代码中对字符"A"和字符”"进行了异或操作。在PHP中&#xff0c;两个变量进行异或时&#xff0c;先会将字符串转换成ASCII值&#xff0c;再将ASCII值转换成二进制…...

Apache Doris 入门教程32:物化视图

物化视图 物化视图是将预先计算&#xff08;根据定义好的 SELECT 语句&#xff09;好的数据集&#xff0c;存储在 Doris 中的一个特殊的表。 物化视图的出现主要是为了满足用户&#xff0c;既能对原始明细数据的任意维度分析&#xff0c;也能快速的对固定维度进行分析查询。 …...

PHP substr()函数详解,PHP截取字符串。

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 substr 一、截取字符串二、截取中文字符串三、leng…...

关于flink-sql-connector-phoenix的重写逻辑

目录 重写意义 代码结构 调用链路 POM文件配置 代码解析 一、PhoenixJdbcDynamicTableFactory...

Django进阶:DRF(Django REST framework)

什么是DRF&#xff1f; DRF即Django REST framework的缩写&#xff0c;官网上说&#xff1a;Django REST framework是一个强大而灵活的工具包&#xff0c;用于构建Web API。 简单来说&#xff1a;通过DRF创建API后&#xff0c;就可以通过HTTP请求来获取、创建、更新或删除数据(…...

Flink CDC系列之:Oracle CDC 导入 Elasticsearch

Flink CDC系列之&#xff1a;Oracle CDC 导入 Elasticsearch 一、深入理解Flink Oracle CDC Connector二、创建docker-compose.yml文件三、启动容器四、下载Flink Oracle CDC的jar包五、启动 Flink 集群&#xff0c;再启动 SQL CLI六、检查 ElasticSearch 中的结果七、在 Oracl…...

Linux忘记root密码解决方法

当我们忘记root密码进不去服务器怎么办&#xff1f;不要担心&#xff0c;可以进入到linux的救援模式修改root密码。 下面直接上干货&#xff0c;流程如下&#xff1a; 1.重启电脑&#xff0c;按上下键滑动&#xff0c;保证不进入开机流程&#xff0c;然后按e键 2.出现此页面…...

AR/VR眼镜转接器方案,实现同时传输视频快充方案

简介 虚拟现实头戴显示器设备&#xff0c;简称VR头显VR眼镜&#xff0c;是利用仿真技术与计算机图形学人机接口技术多媒体技术传感技术网络技术等多种技术集合的产品&#xff0c;是借助计算机及最新传感器技术创造的一种崭新的人机交互手段。VR头显VR眼镜是一个跨时代的产品。不…...

ASP.NET Core中路由规则匹配

RESTful约束&#xff0c;如果在一个控制器里面有多个Get、Post...的操作 1、在一个控制器里面可以定义多个API方法 2、通过路由规则来区分 /// <summary> /// 获取用户信息 /// </summary> /// <param name"user"></param> /// <returns…...

IDEA:Error running,Command line is too long. 解决方法

报错如下&#xff1a; Error running SendSmsUtil. Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun.原因是启动命令过长。 解决方法&#xff1a; 1、打开Edit Configurations 2、点击Modify options设置&#x…...

什么是反射机制?为什么反射慢?

目录 面试回答 知识扩展 反射常见的使用方式 反射和 Class 的关系 面试回答 反射指的是程序在运行时能够获取自身的信息。在 java 中&#xff0c;只要给定类的名字&#xff0c;那么就可以通过反射机制来获得类的所有属性和方法。 Java 的反射可以&#xff1a; 在运行时判断…...

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到账户下&#xff0c;git clone时&#xff0c;依然报错clone失败&#xff0c;请检查是否没有权限进行clone操作。 解决办法 在git的安装目录下&#xff…...

回归预测 | MATLAB实现SA-SVM模拟退火算法优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现SA-SVM模拟退火算法优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现SA-SVM模拟退火算法优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本…...

Spring事务和事务传播机制(1)

前言&#x1f36d; ❤️❤️❤️SSM专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 在Spring框架中&#xff0c;事务管理是一种用于维护数据库操作的一致性和…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...