RockerMQ简介和单节点部署

news2024/12/29 11:08:36

目录

  • 一、RockerMQ简介
  • 二、Linux中单节点部署
    • 1、准备工作
    • 2、下载和解压
    • 3、修改初始内存
    • 4、启动
    • 5、查看进程
    • 6、发送接收消息测试
    • 7、关闭
  • 三、控制台的安装与启动(可视化页面)
    • 1、修改配置
      • (1)修改端口号
      • (2)指定RocketMQ的name server地址
      • (3)添加依赖
    • 2、打成jar包
    • 3、启动
      • 4、测试访问
  • 四、常见问题及解决方法
    • 1、rocketmq org.apache.rocketmq.remoting.exception.RemotingConnectException:connect to <10909> failed
      • (1)问题原因
      • (2)解决方案

一、RockerMQ简介

MQ,Message Queue,是一种提供消息队列服务的中间件,也称为消息中间件,是一套提供了消息生产、存储、消费全过程API的软件系统。消息即数据。一般消息的体量不会很大。

可以用来在分布式系统中异步提速、解耦、削峰填谷和数据收集

二、Linux中单节点部署

1、准备工作

软硬件需求

系统要求是64位的,JDK要求是1.8及其以上版本的。

下载RocketMQ安装包

版本选择:https://archive.apache.org/dist/rocketmq/4.9.0/rocketmq-all-4.9.0-bin-release.zip

2、下载和解压

将下载的安装包上传到Linux上(也可以直接在Linux里用wget命令下载)

由于是zip文件所以需要有一个解压zip的工具

yum install -y unzip

解压下载的压缩包

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

3、修改初始内存

修改 runserver.sh 文件
#使用vim命令打开 bin/runserver.sh 文件。现将这些值修改为如下:

AVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
choose_gc_options

修改 runbroker.sh
使用vim命令打开 bin/runbroker.sh 文件。现将这些值修改为如下:

JAVA_OPT="${JAVA_OPT} -server -Xms256M -Xmx256M -Xmn128M"

注意:以上初始内存大小应该小于自己Linux的内存但也不能太小,根据自己的实际情况而定

4、启动

启动start namesrv

### start namesrv
$ nohup sh bin/mqnamesrv &

### verify namesrv 
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...

启动 Broker

### start broker
$ nohup sh bin/mqbroker -n localhost:9876 &

### verify broker
$ tail -f ~/logs/rocketmqlogs/broker_default.log 
The broker[broker-a,192.169.1.2:10911] boot success...

5、查看进程

jps
1860 BrokerStartup
1832 NamesrvStartup
2447 Jps

6、发送接收消息测试

发送消息

$ export NAMESRV_ADDR=localhost:9876
# 发送消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...

接收消息

#接收消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...

7、关闭

可以使用jps搜索进程,然后使用kill把进程杀死

kill -9 [进程号]

第二种方法

### 关闭broker
$ sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK
### 关闭namesrv
$ sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

三、控制台的安装与启动(可视化页面)

RocketMQ有一个可视化的dashboard,通过该控制台可以直观的查看到很多数据。

下载地址
官方地址:https://github.com/apache/rocketmq-dashboard

1、修改配置

将下载的压缩包解压出来,进入文件修改其 src/main/resources 中的application.properties 配置文件.

(1)修改端口号

原来的端口号为8080,修改为一个不常用的,如7777
在这里插入图片描述

(2)指定RocketMQ的name server地址

在这里插入图片描述

(3)添加依赖

在解压目录rocketmq-console的pom.xml中添加如下JAXB依赖。
(JAXB*,Java Architechture for Xml Binding,用于XML绑定的Java技术,是一个业界标准,是一项可以根据XML Schema生成Java类的技术。)

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>

2、打成jar包

在rocketmq-console目录下运行maven的打包命令。

mvn clean package -Dmaven.test.skip=true

也可以在idea里打jar包

3、启动

java -jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar

4、测试访问

访问http://localhost:7000/
在这里插入图片描述
在这里可以搜索接收的消息,能够收到代表成功了。
在这里插入图片描述

四、常见问题及解决方法

1、rocketmq org.apache.rocketmq.remoting.exception.RemotingConnectException:connect to <10909> failed

(1)问题原因

由于跨域造成的

(2)解决方案

修改服务器中broker的配置,添加服务器IP(公网)即可

vim conf/broker.conf

在最后添加一行

brokerIP1=xx.xx.xx.xx  # 你的公网IP

注意:IP两个字母要大写。这个公网IP有的人用宿主机的IP有的人用的Linux的IP,自己都试一下

杀死上面启动的进程后重启namesrv和broker

重启broker是要加入下面的选项

 -c conf/broker.conf

如果以上方法还不能解决你的问题,尝试重启一下虚拟机,会有意想不到的效果

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

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

相关文章

企业知识管理常见的误区及解决方案

在企业信息化的背景下&#xff0c;越来越多的首席信息官&#xff08;CIO&#xff09;承担着促进组织知识管理实施的责任。然而&#xff0c;从实践的角度来看&#xff0c;虽然我国大多数知识管理实施项目都取得了一定的成果&#xff0c;但与预期有很大的不同&#xff0c;甚至许多…

这18个被全网吹爆了的AI绘画工具,分享给你!

伴随着ChatGPT的横空出世&#xff0c;一场史无前例的科技革命正在拉开序幕。 AI 拥有强大的信息储备和数据处理能力&#xff0c;无论是速度、质量&#xff0c;还是思维模式&#xff0c;都让人只呼不得了&#xff01;写代码、造论文丝毫不在话下&#xff0c;甚至还能和你探讨茶…

当 Amazon Lambda 遇上 Apache APISIX 可以擦出什么火花?

本文首先介绍了什么是 Serverless&#xff0c;以及为什么需要 Serverless&#xff1b;其次&#xff0c;讲述了一个好的网关在 Serverless 架构下的重要性&#xff0c;而 APISIX 就是这样的一个网关&#xff1b;最后&#xff0c;本文重点介绍了 APISIX 中的 Serverless 类型的插…

您应该知道的几个安卓照片恢复应用程序

如果您不小心删除了存储在 Android 手机上的一些重要照片&#xff0c;该怎么办&#xff1f;如果您之前已创建备份&#xff0c;则只需将备份文件中的照片恢复到您的手机即可。但数据丢失往往是突然发生的&#xff0c;可能是由于误操作、恢复出厂设置或物理损坏等原因造成的。如果…

高性能低功耗4口高速USB2.0 HUB NS1.1S 兼容FE1.1

NS1.1S是一款高性能、低功耗4口高速 USB2.0 HUB 控制器&#xff0c;上行端口兼容高速 480MHz和全速12MHz两种模式&#xff0c;4个下行端口兼容高速480MHz、全速12MHz、低速1.5MHz三种模式。 NS1.1S采用状态机单事务处理架构&#xff0c;而非单片机架构&#xff0c;多个事务缓冲…

Java无法通过形参设置为null改变实参

文章目录问题描述问题例子问题分析问题描述 在实际业务开发过程中&#xff0c;我们会把实参传递给形参&#xff0c;在方法体内对引用对象进行构建或者修改&#xff0c;从而改变实参&#xff0c;因为对形参对象属性修改时&#xff0c;实参对象也会随着改变&#xff0c;详情请看&…

《Java核心技术》笔记——第六章

文章目录CH6.接口、lambda表达式与内部类1.接口基本2.常用接口3.lambda表达式4.内部类5.服务加载器与代理前章&#xff1a; 第三章~第五章的学习笔记CH6.接口、lambda表达式与内部类 1.接口基本 接口基本——interface声明&#xff0c;方法无需指明public&#xff08;默认都是…

基于node vue的电商系统 mongodb express框架

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 基于node vue的电商系统 mongodb express框架前言技术栈基本功能普通用户管理员一、运行截图&#xff1f;二、使用步骤1.前端main.js2.后端admin路由前言 技术栈 本项目采用…

行业分析| OA系统中的实时通讯

前言 当前实时通讯市场中有QQ、MSN、网络电话以及视频会议等&#xff0c;同时也有各个互联网巨头推出的基于自身平台的实时通讯工具&#xff0c;比如&#xff0c;百度hi&#xff0c;淘宝旺旺等&#xff0c;相对而言其与纯粹的实时通讯工具不同&#xff0c;基于自身平台的实时通…

点击化学 PEG 试剂1858242-47-3,Propargyl丙炔基-PEG1-乙酸活性酯

Propargyl-PEG1-Acetic acid-NHS ester&#xff0c;丙炔基-聚乙二醇-乙酸琥珀酰亚胺酯&#xff0c;丙炔基-PEG1-乙酸活性酯&#xff0c;丙炔基-PEG1-乙酸-NHS 酯产品规格&#xff1a;1.CAS号&#xff1a;1858242-47-32.分子式&#xff1a;C9H9NO53.分子量&#xff1a;211.174.包…

ChatGPT商业前景如何?人工智能未来会如何发展?

ChatGPT不仅在互联网和多个行业引发人们的关注&#xff0c;在投资界还掀起了机构对人工智能领域的投资热潮。人工智能聊天程序ChatGPT在去年11月亮相之后&#xff0c;在推出仅两个月后&#xff0c;今年1月份的月活用户已达到了1亿&#xff0c;成为史上增长最快的消费者应用程序…

【selenium 自动化测试】如何搭建自动化测试环境,搭建环境过程应该注意的问题

最近也有很多人私下问我&#xff0c;selenium学习难吗&#xff0c;基础入门的学习内容很多是3以前的版本资料&#xff0c;对于有基础的人来说&#xff0c;3到4的差别虽然有&#xff0c;但是不足以影响自己&#xff0c;但是对于没有学过的人来说&#xff0c;通过资料再到自己写的…

UA-DETRAC数据集转YOLO格式

一&#xff1a; 数据集下载 链接&#xff1a;&#xff08;后续添加&#xff09; 二&#xff1a; 处理标注文件 先处理标注文件&#xff0c;UA-DETRAC提供的标注文件格式是VOC格式&#xff0c;需要先转为XML格式&#xff0c;然后再将每个XML文件转为YOLO文件。 下面提供两个代…

git 本地新建分支并进行合并

由于新的要求 不允许在线上直接clone下的git分支进行开发&#xff0c;只能本地新建分支再往线上分支合并远程库clone到本地库 git clone 需要下载的git地址注意我下载下来的是dev分支 根据实际情况进行分析git clone https://gitee.com/hello.git本地创建新的分支 git checkout…

Keil编译头文件iec_std_functions.h错误解决

Keil 编译IEC61131-3库&#xff0c;头文件&#xff0c;大量出现以下错误&#xff1b; cast to type &#xff1f; is not allowed compiling resource1.c... ..\PLC\rts\matiec\lib\C\iec_std_functions.h(192): error: #119: cast to type "TIME" is not allowed…

公派访问学者的申请条件

知识人网海外访问学者申请老师为大家分享公派访问学者申请的基本条件以及哪些人员的申请是暂不受理的&#xff0c;供大家参考&#xff1a;一、 申请人基本条件&#xff1a;1.热爱社会主义祖国&#xff0c;具有良好的思想品德和政治素质&#xff0c;无违法违纪记录。2.具有良好专…

Java常见问题总结五

1、垃圾回收方式 SerialGC(串行垃圾回收):为单线程环境设计且使用一个线程进行垃圾回收&#xff0c;会暂停所有的用户线程。 ParalleGC(并行垃圾回收)&#xff1a;对过GC线程并行工作&#xff0c;此时用户线程是停止的。 ConcMarkSweep(CMS)&#xff1a;用户线程和GC线程同时执…

Tatuk GIS Developer Kernel for .NET 最新Crack

Tatuk GIS Developer Kernel for .NET 是一个地理SDK&#xff0c;它是受控代码和 .NET GIS SDK&#xff0c;用于为用户 Windows 操作系统创建 GIS 专业软件的过程。它被认为是一个完全用于 Win Forms 的 .NET CIL&#xff0c;WPF 的框架是为 C# 以及 VB.NET、VC、oxygen 以及最…

StarRocks携手零洞科技,助力碧桂园物业企业微信数字化项目

作者&#xff1a;零洞科技大数据部零洞科技有限公司&#xff08;以下简称“零洞”&#xff09;&#xff0c;是碧桂园集团的核心联盟企业&#xff0c;致力于成为国内领先的数智空间解决方案服务商&#xff0c;业务场景覆盖户内及户外&#xff0c;在智慧家居板块&#xff0c;打造…

【C语言】字符分类函数+内存函数

目录 1.字符函数 1.1字符分类函数 1.2.字符转换函数 //统一字符串中的大小写 2.内存处理函数 2.1内存拷贝函数memcpy //模拟实现memcpy 2.2内存移动函数memmove //模拟实现memmove 2.3内存比较函数memcmp 2.4内存设置函数memset 1.字符函数 1.1字符分类函数 头文…