(Mac)RocketMQ的本地安装测试(详细图示)

目录

  • 部署服务 namesrv / broker
    • 下载解压缩
    • 运行 namesrv
    • nohup ./bin/mqnamesrv & 启动命令详解
    • 运行 broker
  • 测试收发消息
    • 运行自带的生产者测试类
    • 运行自带的消费者测试类
  • 部署 Dashboard 可视化
    • 下载打包
    • 运行
    • 访问

部署服务 namesrv / broker

下载解压缩

  1. 官网下载 https://rocketmq.apache.org/download/
    • 我用的 4.9.5 版本(下载 binary 的)
      在这里插入图片描述
  2. 直接解压
unzip rocketmq-all-4.9.5-bin-release.zip

在这里插入图片描述

运行 namesrv

  1. 修改配置文件中jvm参数–内存大小 bin/runserver.sh 。默认给的很大,建议改小点
cd rocketmq-all-4.9.5-bin-release
# 使用 vscode 打开编辑(二选一)
open bin/runserver.sh
# 使用 vim 打开编辑(二选一)
vim bin/runserver.sh

在这里插入图片描述
2. 启动

# 启动 
nohup ./bin/mqnamesrv &
# 查看启动日志
cat nohup.out
# 查看启动的线程
jps

在这里插入图片描述
3. 关闭

# 优雅地关闭
./bin/mqshutdown namesrv
# 暴力关闭
jps
kill xxx

nohup ./bin/mqnamesrv & 启动命令详解

有三种方式都可以启动

  1. ./bin/mqnamesrv
    • 最直接的启动方式,缺点是该终端将被占用,打印日志打印到屏幕,只能新开终端重新输入命令。
  2. ./bin/mqnamesrv &
    • 好一些的启动方式,缺点是不能退出该终端,否则会终止程序,而且有日志还是会打印到屏幕,很乱。
  3. nohup ./bin/mqnamesrv &
    • 完美的启动方式,nohup:英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行,且会将日志打印到当前文件nohup.out

运行 broker

  1. 修改配置文件中jvm参数–内存大小 bin/runbroker.sh 。默认给的很大,建议改小点
# 使用 vscode 打开编辑(二选一)
open bin/runbroker.sh
# 使用 vim 打开编辑(二选一)
vim bin/runbroker.sh

在这里插入图片描述
2. 配置环境变量 NAMESRV_ADDR

vim ~/.zshrc
export NAMESRV_ADDR='localhost:9876'
# 刷新生效
source ~/.zshrc
# 测试是否生效
echo $NAMESRV_ADDR

在这里插入图片描述
3. 修改broker 配置文件,允许自动创建 topic

open conf/broker.confautoCreateTopicEnable = true

在这里插入图片描述
4. 启动

# 启动 
nohup ./bin/mqbroker &
# 查看启动日志
cat nohup.out
# 查看启动的线程
jps

在这里插入图片描述
5. 关闭

./bin/mqshutdown broker

测试收发消息

运行自带的生产者测试类

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

在这里插入图片描述

运行自带的消费者测试类

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

在这里插入图片描述

部署 Dashboard 可视化

下载打包

  1. 官网下载 https://rocketmq.apache.org/download/,拉到页面最后

在这里插入图片描述
2. 解压缩打成 jar 包

# 解压缩
unzip rocketmq-dashboard-1.0.0-source-release.zip
# 打包
cd rocketmq-dashboard-1.0.0/
mvn clean package -Dmaven.test.skip=true

在这里插入图片描述

运行

  • 需保证 namesrv / broker 已启动
  • 打的jar包在 target 目录下,可直接使用
java -jar target/rocketmq-dashboard-1.0.0.jar

访问

  • http://localhost:8080/
    在这里插入图片描述

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

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

相关文章

mac苹果电脑卡顿反应慢如何解决?2024最新免费方法教程

苹果电脑以其稳定的性能、出色的设计和高效的操作系统,赢得了广大用户的喜爱。然而,随着时间的推移,一些用户会发现自己的苹果电脑开始出现卡顿、反应慢等问题。这不仅影响使用体验,还会影响工作效率。那么,面对这些问…

FPGA -手写异步FIFO

一,FIFO原理 FIFO(First In First Out)是一种先进先出的数据缓存器,没有外部读写地址线,使用起来非常简单,只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成&a…

指针(4)有点难

指针(4) 来做个简单的回顾: 指针数组: 1.是数组 2.是存放指针的数组 char* arr1[5]; int*arr2[3]; 数组指针: 1 .是指针 2 .指向数组的指针 字符指针:char*pc; 整型指针:int*pi; int …

win10无法被远程桌面连接,Win10系统无法被远程桌面连接的原因有哪些

win10无法被远程桌面连接,Win10系统无法被远程桌面连接的原因有哪些? 先,我们需要明确Win10系统无法被远程桌面连接的可能原因。其中,最常见的原因包括:远程桌面功能未启用、网络连接问题、防火墙或安全软件设置不当、…

哪个牌子的电视盒子好用?小编分享最新电视盒子排名

最近电视盒子是大家热议的话题,就目前来看它的地位依然无可替代,但许多朋友硬不知道哪个牌子的电视盒子好用,面对众多品牌和产品究竟要如何选择才是最好的呢?本期小编要分享最新发布的电视盒子排名,看看哪些电视盒子最…

C++ 抽象与封装

一 抽象 抽象实例:时钟 数据抽象: 具有表面当前时间的时、分、秒 行为抽象: 具有设置时间和显示时间两个最基本的功能。 抽象实例:人 数据抽象:姓名、年龄、性别等。 行为抽象: 生物属性:吃…

【线性代数】英语版听课笔记

线性代数 - 北京航天航空大学(英文版)_哔哩哔哩_bilibili 39.concept of vector space in this lecture we will studyvector space, the concept of basis dimension and coordinates 向量空间的维数:向量空间的基底所含向量的…

TCP超时重传机制

一、TCP超时重传机制简介 TCP超时重传机制是指当发送端发送数据后,如果在一定时间内未收到接收端的确认应答,则会认为数据丢失或损坏,从而触发重传机制。发送端会重新发送数据,并等待确认应答。如果在多次重传后仍未收到确认应答&…

车载测试__公司面试题(整理)

案例1: 镁佳 外包岚图汽车 车载测试 区域经理视频面试 1.首先自我介绍一下 2.项目是怎么测的举例说明 3.你是怎么看待加班的 4.你是怎么看待驻场单位 5.是否可以接受外派去做一段时间的技术支持,比如去襄阳,最长一个月。 6.多快能到…

Codigger:优化Vim编辑器的关键是可视化

Vim是一款高度灵活的文本编辑器,以其高效的快捷键和命令行界面而闻名。然而,对于一些初学者来说,Vim的复杂性和强大的功能可能会让他们感到困惑。为了使Vim更易于使用,Codigger引入可视化操作的概念,将原本抽象的、难以…

初步了解json文件

来自wetab 的AI pro: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,但是它使用了类似于编程语言(特别是J…

智慧公厕,运用数据提升公共厕所管理水平!

随着城市人口的增加和生活水平的提高,公共厕所的管理变得越来越重要。传统的厕所管理方式已经无法满足人们对卫生、便利和舒适的需求。而智慧公厕作为新一代公厕管理方式,通过运用数据技术和大数据分析手段,彻底改变了公厕管理的模式&#xf…

Maximo 在 Automation Script 中访问数据库

在 Automation Script 中我们通常使用 mbo 对象来操作数据,但有时候当数据量较大时,使用 mbo 对象来操作数据会比较慢。这时候,我们可以使用 JDBC 的方式来直接访问数据库,从而提高操作数据的效率。 下面看看使用 JavaScript 脚本…

2024OD机试卷-执行任务赚积分 (java\python\c++)

题目:执行任务赚积分 题目描述 现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。 每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。 可用于处理任务的时间有限,请问在有限的时间内,可…

C++对象的赋值

同类的对象之间可以互相赋值,即一个对象的值可以赋值给另一个对象。对象之间的赋值通过“”进行。默认就是把一个对象所有非static数据成员的值依次赋值给另一个对象。 对象赋值的一般形式为: 对象名1 对象名2; 注意:对象名1和对象名2必须是属于同一个…

flutter开发实战-GetX响应式状态管理使用

flutter开发实战-GetX响应式状态管理使用 GetX是一个简单的响应式状态管理解决方案。GetX是Flutter的一款超轻、功能强大的解决方案。它将高性能状态管理、智能依赖注入和路由管理快速而实用地结合在一起。这里简单使用一下GetX 一、引入GetX 在工程的pubspec.yaml中引入插件…

信息系统架构模型_1.单机应用模式和客户机/服务器模式

1.单机应用模式(Standalone) 单机应用系统是最简单的软件结构,是指运行在一台物理机器上的独立应用程序。这些软件系统,从今天的软件架构上来讲,是很简单,是标准的单机系统。当然至今,这种复杂的…

export QT_DEBUG_PLUGINS=1

Qt的编程中包含了插件模式,使得程序的扩展性非常好,但插件的动态加载的检查也比较严格,这次编译数据库驱动插件就碰到了不少问题。实际上,可以在系统的 环境变量中设置QT_DEBUG_PLUGINS=1 ,即在终端中执行 …

电路板维修【二】

【维修一个65W的氮化镓快充头,摔地上就没输出了,看下怎么回事】:https://www.bilibili.com/video/BV1vG411Q7MDvd_source3cc3c07b09206097d0d8b0aefdf07958 对于某些电器,维修之前需要先测量主滤波电容上面有没有存电&#xff0c…

【java】泛型

文章目录 1. 什么是泛型?1.1 背景1.2 泛型的概念1.3 泛型的好处 2. 泛型类、接口...2.1 泛型类2.2 从泛型类派生子类2.2.1 子类也是泛型类,子类和父类的泛型类型要一致2.2.2 子类不是泛型类,父类要明确泛型的数据类型 2.3 泛型接口2.4 泛型方…