Ubuntu环境中RocketMQ安装教程

参考教程

https://blog.csdn.net/weixin_56219549/article/details/126143231

1、安装JDK,并配置环境变量(略)

2、下载RocketMQ安装包

RocketMQ下载地址,选择二进制包下载
在这里插入图片描述

unzip rocketmq-all-5.0.0-ALPHA-bin-release.zip 使用FTP工具上传到目标服务器,或者使用命令行下载

wget https://dist.apache.org/repos/dist/release/rocketmq/5.3.1/rocketmq-all-5.3.1-bin-release.zip

然后解压,unzip rocketmq-all-5.3.1-bin-release.zip

3、配置环境变量

# 配置rocketmq环境变量
sudo vim /etc/profile

##加入下面内容,注意修改正确路径
export rocketmq=/home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/
export PATH=$PATH:$rocketmq/bin

在这里插入图片描述

4、调整合适的JVM内存大小

#进入到bin目录
cd rocketmq-all-5.3.1-bin-release/bin

vim runbroker.sh

在这里插入图片描述

vim runserver.sh

在这里插入图片描述
修改 /home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/conf/broker.conf

# 集群名称
brokerClusterName = DefaultCluster

# 节点名称
brokerName = dev-broker-a

# broker id节点ID, 0 表示 master, 其他的正整数表示 slave,不能小于0
brokerId = 0

# 在每天的什么时间删除已经超过文件保留时间的 commit log,默认值04
deleteWhen = 04

# 以小时计算的文件保留时间 默认值72小时
fileReservedTime = 72

# Broker角色
brokerRole = ASYNC_MASTER

# 刷盘方式
flushDiskType = ASYNC_FLUSH

# Broker服务地址
brokerIP1=192.168.6.222

#nameServer地址,分号分割
namesrvAddr= 192.168.6.222:9876

#是否允许Broker自动创建Topic
autoCreateTopicEnable = true
#是否允许 Broker 自动创建订阅组
autoCreateSubscriptionGroup = true

5、启动RocketMQ

5.1、启动mqnameserver(&表示后台启动,不能少)

进入到/rocketmq-all-5.3.1-bin-release/bin目录,执行下面命令

nohup sh mqnamesrv &

查看是否成功

tail -1000f nohup.out

或者jps查看

jps

5.2、启动broker

进入到/rocketmq-all-5.3.1-bin-release/bin目录,执行下面命令

nohup sh mqbroker -n localhost:9876 &

自动创建topic:启动broker时加上自动创建topic的参数,如下,其中autoCreateTopicEnable=true表示自动创建topic

nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true > ../broker.log &

6、安装控制台dashboard(略)

在这里插入图片描述

(推荐)使用systemd管理nameserver和broker

前面分享了如何在机器上搭建rocketmq,其中nameserver和broker都是以nohup的方式启动。在实际运维过程中,这种启动存在一个比较麻烦的问题:比如机器宕机后,重新启动机器,broker和namserver服务无法自动随开机拉起,还需要我们登陆到每台机器上去操作启动服务。又没有比较好的方式管理启动脚本和停止脚本呢?

我们可以编写unit file,将nameserver和broker作为一个systemd下面的一个unit,从而被systemd管理起来。然后就可以通过systemctl start/restart/stop xxx来启停nameserver和broker了,再通过systemctl enable xxx,可以设置nameserver和broker开启自行启动。

[!NOTE]

开始之前,需要先停止上面方式部署的MQ

1)nameserver

启动:cd /home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/bin && nohup ./mqnamesrv -c namesrv.properties &

停止:cd /home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/bin && sh mqshutdown namesrv

  1. broker

启动:cd /home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/bin && nohup sh mqbroker -c rmq-broker.conf &

停止:cd /home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/bin && sh mqshutdown broker

6.1、编写脚本
1)nameserver的unit file编写: /usr/lib/systemd/system/rmqnamesrv.service
[Unit]
Description=RocketMQ NameServer
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/bin
ExecStart=/home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/bin/mqnamesrv
ExecStop=/home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/bin/mqshutdown namesrv
Restart=on-failure
Environment="JAVA_HOME=/home/ec2-user/software/jdk/jdk-17.0.12"
Environment="PATH=/home/ec2-user/software/jdk/jdk-17.0.12/bin:/usr/bin:/bin"

[Install]
WantedBy=multi-user.target

2)broker的unit file编写: /usr/lib/systemd/system/rmqbroker.service
[Unit]
Description=RocketMQ Broker
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/bin
ExecStart=/home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/bin/mqbroker -c /home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/conf/broker.conf
ExecStop=/home/ec2-user/k8s/rocketmq/rocketmq-all-5.3.1-bin-release/bin/mqshutdown broker
Restart=on-failure
Environment="JAVA_HOME=/home/ec2-user/software/jdk/jdk-17.0.12"
Environment="PATH=/home/ec2-user/software/jdk/jdk-17.0.12/bin:/usr/bin:/bin"

[Install]
WantedBy=multi-user.target

6.2、执行命令
#启动
sudo systemctl start rmqnamesrv
#查看状态
sudo systemctl status rmqnamesrv
#停止
sudo systemctl stop rmqnamesrv
#重启
sudo systemctl restart rmqnamesrv
#设置随开机自动启动
sudo systemctl enable rmqnamesrv


看到下图代表成功
在这里插入图片描述

#启动
sudo systemctl start rmqbroker
#查看状态
sudo systemctl status rmqbroker
#停止
sudo systemctl stop rmqbroker
#重启
sudo systemctl restart rmqbroker
#设置随开机自动启动
sudo systemctl enable rmqbroker


看到下图代表成功
在这里插入图片描述

namesrv和broker设置开机自启动
sudo systemctl enable rmqnamesrv
sudo systemctl enable rmqbroker

看到下图代表成功
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于JAVA的旅游网站系统设计

摘 要 自改革开放以来, 我国国内旅游业发展迅速,覆盖面广,但总的来说仍然处于一种低消费、大众化、低水平、 中近距离旅游的状况。旅游基础设备、服务设施建设发展很快,但仍然不能适应国内旅游发展速度的要求。我国的 旅游业是在…

服务器数据恢复—raid6阵列硬盘被误重组为raid5阵列的数据恢复案例

服务器存储数据恢复环境: 存储中有一组由12块硬盘组建的RAID6阵列,上层linux操作系统EXT3文件系统,该存储划分3个LUN。 服务器存储故障&分析: 存储中RAID6阵列不可用。为了抢救数据,运维人员使用原始RAID中的部分…

论文笔记-WWW2024-ClickPrompt

论文笔记-WWW2024-ClickPrompt: CTR Models are Strong Prompt Generators for Adapting Language Models to CTR Prediction ClickPrompt: CTR模型是大模型适配CTR预测任务的强大提示生成器摘要1.引言2.预备知识2.1传统CTR预测2.2基于PLM的CTR预测 3.方法3.1概述3.2模态转换3.…

循环神经网络(RNN)详解

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

【微服务】Nacos

一、安装 1、官网地址:https://nacos.io/download/nacos-server/ 2、启动:找到bin目录下的startup.cmd双击启动,或者打开一个命令窗口输入: startup.cmd -m standalone双击启动后如下:可以访问控制台地址 访问后的…

混沌工程/混沌测试/云原生测试/云平台测试

背景 私有云/公有云/混合云等具有复杂,分布式,环境多样性等特点,许多特殊场景引发的线上问题很难被有效发现。所以需要引入混沌工程,建立对系统抵御生产环境中失控条件的能力以及信心,提高系统面对未知风险得能力。 …

DM-VIO(ROS)+t265配置运行记录(ubuntu18.04+ros melodic)

在工作中需要对DM-VIO算法进行测试,于是配置并记录了一下: 首先运行ros接口的dm-vio,一定要先配置源码 https://github.com/lukasvst/dm-vio在这个网址把源码下载下来并解压,并安装一下依赖: sudo apt-get install …

自动化运维(k8s)之微服务信息自动抓取:namespaceName、deploymentName等全解析

前言:公司云原生k8s二开工程师发了一串通用性命令用来查询以下数值,我想着能不能将这命令写成一个自动化脚本。 起初设计的 版本一:开头加一条环境变量,执行脚本后,提示输入:需要查询的命名空间&#xff0c…

【数据分析】布朗运动(维纳过程)

文章目录 一、概述二、数学布朗运动2.1 数学定义2.2 布朗运动的数学模型2.21 标准布朗运动2.22 布朗运动的路径2.23 布朗运动的方程 三、布朗运动在金融学中的应用四、数学构造(以傅里叶级数为例)4.1 傅里叶级数的基本思想4.2 构造布朗运动 一、概述 布…

Mybatis Plus 增删改查方法(一、增)

先定义一个简单的测试表,执行脚本如下: create table user(id bigint primary key auto_increment,name varchar(255) not null,age int not null default 0 check (age > 0) ); 根据Spingbootmybatisplus的结构根据表自行构建结构,大致…

基于Matlab的图像去噪算法仿真(二)

在信息化的社会里,图像在信息传播中所起的作用越来越大。所以,消除在图像采集和传输过程中而产生的噪声,保证图像受污染度最小,成了数字图像处理领域里的重要部分。 本文主要研究分析邻域平均法、中值滤波法、维纳滤波法及模糊小…

鸿蒙Next星河版基础代码

目录: 1、鸿蒙箭头函数的写法2、鸿蒙数据类型的定义3、枚举的定义以及使用4、position绝对定位及层级zIndex5、字符串的拼接转换以及数据的处理(1)字符串转数字(2)数字转字符串(3)布尔值转换情况(4)数组的增删改查 6、三元表达式7、鸿蒙for循环的几种写法7.1、基本用…

Node.js的url模块与querystring模块

新书速览|Vue.jsNode.js全栈开发实战-CSDN博客 《Vue.jsNode.js全栈开发实战(第2版)(Web前端技术丛书)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) 4.3.1 http模块——创建HTTP服务器、客户端 要使用http模块&#xff0…

Conda 管理python开发环境

同步发布于我的网站 🚀 故事起因: 在公司使用Requests多任务并行开发时遇到了问题,使用 ProcessPoolExecutor 时不能正常发出网络请求,会卡在网络请求发不出去,但是善于用 ThreadPoolExecutor 时是可以的,纠结了很久,一…

LLamafactory 批量推理与异步 API 调用效率对比实测

文章目录 背景数据集构造LLamafactory 批量推理yaml 参数设置批量推理启动 LLamafactory API 部署结论项目开源 背景 在阅读 LLamafactory 的文档时候,发现它支持批量推理: 推理.https://llamafactory.readthedocs.io/zh-cn/latest/getting_started/inference.html…

Android通过摄像头检测心率

话不多说,先看效果 Android通过摄像头测量心率 借鉴文章如下 Android通过摄像头计算心率、心率变异性 该文章的核心功能点已经很全了,为了方便使用,我这边整理成了工具类可直接使用 该功能全网文章还是比较少的,还是要感谢下借鉴…

测绘坐标数据封装处理

1、测绘数据 2、数据处理 public void dealData() {List<Map<String, Object>> shyqzdMapList 截图数据;Map<String, List<Map<String, Object>>> groupMap shyqzdMapList.stream().collect(Collectors.groupingBy(item -> String.valueOf…

一个开源轻量级的服务器资源监控平台,支持告警推送

大家好&#xff0c;今天给大家分享一款开源的轻量级服务器资源监控工具Beszel&#xff0c;提供历史数据记录、Docker容器统计信息监控以及多种警报功能&#xff0c;用于监控服务器资源。 项目介绍 Beszel由hub&#xff08;中心服务器端应用&#xff0c;基于PocketBase构建&…

SVG无功补偿装置MATLAB仿真模型

“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 SVG&#xff08;又称ASVG 或STATCOM&#xff09;是Static Var Generator 的缩写&#xff0c;叫做静止无功发生器。也是做无功补偿的&#xff0c;比SVC 更加先进。其基本原理是将自换相桥式电路通过电抗器或…

el-cascader 使用笔记

1.效果 2.官网 https://element.eleme.cn/#/zh-CN/component/cascader 3.动态加载&#xff08;官网&#xff09; <el-cascader :props"props"></el-cascader><script>let id 0;export default {data() {return {props: {lazy: true,lazyLoad (…