RocketMQ环境搭建(宝塔)

news2024/11/28 6:52:23

文章目录

    • 1.介绍
    • 2.RocketMQ介绍
        • 1.官网
        • 2.基础概念
        • 3.组件架构
    • 3.安装
        • 1.安装宝塔面板
          • 1.更新系统
          • 2.安装宝塔面板
          • 3.开放33142端口
        • 2.创建存放软件的文件夹
        • 3.将软件上传到soft目录下
        • 4.安装unzip
        • 5.进入目录解压软件
        • 6.进入bin目录
        • 7.修改两个sh文件配置内存小一点
        • 8.在/usr/local/soft/rocketmq-all-4.8.0-bin-release/`bin`目录下,启动RocketMQ 并跟踪日志
          • 1.启动NameServer并跟踪日志命令
          • 2.报错:没有文件夹
          • 3.创建一下
          • 4.再次启动,还是不行
          • 5.打印日志,发现没有安装java
          • 6.安装java
            • 1.使用宝塔安装然后把java复制到soft目录下
            • 2.配置环境变量
            • 3.打印测试
          • 7.重新启动 NameServer
            • 1.进入bin目录
            • 2.启动
            • 3.查看进程是否启动
            • 4.查看9876端口是否在监听
          • 8.启动 broker
            • 1.临时设置环境变量,指定NameServer的服务(如果没有持久化,每次启动都要设置一下)
            • 2.启动,发现路径不存在
            • 3.创建文件夹
            • 4.再次启动,另一个路径不存在
            • 5.再次创建文件夹
            • 6.再次启动
            • 7.验证Broker启动
            • 8.消息测试
            • 9.关闭broker和namesrv的方式
        • 4.安装控制台
          • 1.解压压缩包,idea打开,并修改配置文件
          • 2.maven clean-install
          • 3.找到jar包
          • 4.上传到服务器
          • 5.部署为java项目并启动
          • 6.开启7777端口
          • 7.访问 http://116.198.233.85:7777/ 发现连接失败
          • 8.开启9876端口
          • 9.再次刷新(成功!)

1.介绍

1、限流削峰

服务 A 1s 1000 mq,来中转, 服务 B 500qps

2、异步解耦

提交订单 -> 支付 -> 订单列表

支付的回调消息来做订单相关的一些处理。

3、数据采集

实时的数据流采集,业务日志,用户行为监控

2.RocketMQ介绍

1.官网

https://rocketmq.apache.org/

CleanShot 2024-07-11 at 14.20.54@2x

2.基础概念

CleanShot 2024-07-11 at 14.24.33@2x

CleanShot 2024-07-11 at 14.24.56@2x

3.组件架构

CleanShot 2024-07-11 at 15.00.51@2x

3.安装

1.安装宝塔面板
1.更新系统
sudo yum update -y
2.安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
3.开放33142端口
systemctl start firewalld && firewall-cmd --permanent --add-port=33142/tcp && firewall-cmd --reload && firewall-cmd --query-port=33142/tcp

CleanShot 2024-07-11 at 15.03.36@2x

2.创建存放软件的文件夹
mkdir /usr/local/soft
3.将软件上传到soft目录下

CleanShot 2024-07-11 at 14.44.48@2x

4.安装unzip
yum install unzip

CleanShot 2024-07-11 at 15.10.20@2x

5.进入目录解压软件
cd /usr/local/soft && unzip rocketmq-all-4.8.0-bin-release.zip

CleanShot 2024-07-11 at 15.11.24@2x

6.进入bin目录
cd rocketmq-all-4.8.0-bin-release/bin
7.修改两个sh文件配置内存小一点
vim runserver.sh

vim runbroker.sh

CleanShot 2024-07-11 at 15.14.03@2x

CleanShot 2024-07-11 at 15.15.00@2x

8.在/usr/local/soft/rocketmq-all-4.8.0-bin-release/bin目录下,启动RocketMQ 并跟踪日志
1.启动NameServer并跟踪日志命令
nohup sh mqnamesrv & tail -f ~/logs/rocketmqlogs/namesrv.log
2.报错:没有文件夹

CleanShot 2024-07-11 at 15.19.03@2x

3.创建一下
mkdir -p /root/logs/rocketmqlogs
4.再次启动,还是不行
5.打印日志,发现没有安装java
sh mqnamesrv 2>&1 | tee startup.log

CleanShot 2024-07-11 at 15.22.41@2x

6.安装java
1.使用宝塔安装然后把java复制到soft目录下

CleanShot 2024-07-11 at 15.31.42@2x

2.配置环境变量
vim ~/.bashrc
export JAVA_HOME=/usr/local/soft/jdk1.8.0_371
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc
3.打印测试
echo $JAVA_HOME

CleanShot 2024-07-11 at 15.39.31@2x

7.重新启动 NameServer
1.进入bin目录
cd /usr/local/soft/rocketmq-all-4.8.0-bin-release/bin
2.启动
nohup sh mqnamesrv & tail -f ~/logs/rocketmqlogs/namesrv.log

CleanShot 2024-07-11 at 15.54.42@2x

3.查看进程是否启动
ps -ef | grep NamesrvStartup

CleanShot 2024-07-11 at 15.55.31@2x

4.查看9876端口是否在监听
netstat -tunlp | grep 9876  # 检查 NameServer 端口

CleanShot 2024-07-11 at 15.56.05@2x

8.启动 broker
1.临时设置环境变量,指定NameServer的服务(如果没有持久化,每次启动都要设置一下)
export NAMESRV_ADDR=localhost:9876
2.启动,发现路径不存在
nohup sh mqbroker -n localhost:9876 & tail -f ~/logs/rocketmqlogs/broker.log

CleanShot 2024-07-11 at 16.00.28@2x

3.创建文件夹
mkdir -p /root/store/commitlog
4.再次启动,另一个路径不存在

CleanShot 2024-07-11 at 16.01.40@2x

5.再次创建文件夹
mkdir -p /root/store/consumequeue
6.再次启动
nohup sh mqbroker -n localhost:9876 & tail -f ~/logs/rocketmqlogs/broker.log

CleanShot 2024-07-11 at 16.03.14@2x

7.验证Broker启动
ps -ef | grep BrokerStartup

CleanShot 2024-07-11 at 16.03.54@2x

8.消息测试

发送消息:

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

接受消息:

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

CleanShot 2024-07-11 at 16.05.22@2x

9.关闭broker和namesrv的方式
sh bin/mqshutdown broker && sh bin/mqshutdown namesrv
4.安装控制台
1.解压压缩包,idea打开,并修改配置文件
2.maven clean-install
3.找到jar包

CleanShot 2024-07-11 at 16.14.23@2x

4.上传到服务器

CleanShot 2024-07-11 at 16.16.34@2x

5.部署为java项目并启动

CleanShot 2024-07-11 at 16.24.31@2x

CleanShot 2024-07-11 at 16.25.19@2x

6.开启7777端口
systemctl start firewalld && firewall-cmd --permanent --add-port=7777/tcp && firewall-cmd --reload && firewall-cmd --query-port=7777/tcp

CleanShot 2024-07-11 at 16.26.45@2x

7.访问 http://116.198.233.85:7777/ 发现连接失败

CleanShot 2024-07-11 at 16.28.20@2x

8.开启9876端口
systemctl start firewalld && firewall-cmd --permanent --add-port=9876/tcp && firewall-cmd --reload && firewall-cmd --query-port=9876/tcp

CleanShot 2024-07-11 at 16.29.45@2x

9.再次刷新(成功!)

CleanShot 2024-07-11 at 16.29.59@2x

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

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

相关文章

Maven-08.依赖管理-生命周期

一.生命周期 Maven中的生命周期就是描述一次maven项目构建要经历那些阶段。包含clean,default和site三个。这三个生命周期时相互独立的。所谓相互独立,就是每套生命周期中的阶段互不干扰。 阶段是生命周期中最细化的操作。我们重点关注5个阶段&#xf…

教你学习企业高性能web服务器-nginx

一、web服务介绍 1、Apache的三种模型 (1)Apache prefork 预派生模式,有一个主控制进程,然后生成多个子进程,使用select模型,最大并发1024每个子进程有一个独立的线程响应用户请求相对比较占用内存&…

笔记(day24)正则表达式

一、正则表达式 1.1 概述 正则表达式定义了字符串的匹配模式,可以用来进行搜索,编辑,或处理文本 并不仅限于某一种语言,但是在每种语言中有细微的差别 1 数据校验、格式校验 2 数据提取 1.2 语法 元字符描述\将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如&a…

专题---自底向上的计算机网络(数据链路层)

目录 计算机网络概述 物理层 数据链路层 网络层 传输层 应用层 网络安全

pinctl 和 gpio子系统驱动

一.设备树中添加pinctl节点模板 1.创建对应的节点 同一个外设的 PIN 都放到一个节点里面,打开 imx6ull-14x14-evk.dts,在 iomuxc 节点 中的“imx6ul-evk”子节点下添加 “pinctrl_test” 节点。添加完成以后如下所示: pinctrl_test:test_g…

8.21Qt作业

运用网络通信,实现简单聊天室 客户端主要代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget), socket(new QTcpSocket(this)) {ui->setupUi(this);//初始化界面ui-&g…

Postman之Newman命令以及常用参数

Newman介绍 Postman是专为接口测试而生,而Newman是专为Postman而生。因为服务器一般都是Linux系统,而前文提到的操作都离不开Postman的客户端,为解决这个问题,谷歌公司引入了 Newman工具。Newman是Postman的命令行,是…

STM32——I2C通信外设

软件只需要CR控制寄存器,DR数据寄存器,为实时监控状态,软件需要读取SR状态寄存器,好比:开车时CR是控制汽车方向,踩油门等,SR是仪表盘。 由于I2C是半双工,因此发送和接收数据都是在移…

又一家光伏企业终止,行业产能过剩竞争激烈,毛利率极低

一道新能终止原因如下:首先,一道新能从事光伏单晶电池和单晶组件业务,该行业竞争激烈,目前已经出现了产能过剩,甚至负毛利率的情况;其次,报告期内,一道新能营收高达227亿&#xff0c…

DC-DC 转换器中的压电谐振器:当前状态和限制

在小体积和高频下提高功率密度并减小电感器和变压器的尺寸是DC-DC转换器设计中的一大挑战。为了克服这些困难,压电谐振器(PR)通过利用潜在的压电效应,以振动模式而不是电模式存储能量。 即使 PR 的使用在效率和功率密度方面改进了…

关于开源许可协议

开源许可协议 引用开源代码之后是否可以保留知识产权,针对不同的开源协议要进行开源扫描。基于BSD、MIT和Apache三种是可以闭源。但是基于GPL、LGPL和Mozilla的开源方案必须同步开源。

2024年接口测试高频面试题及答案

1. 什么是接口测试? •接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求 •测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系 2. 为什么要做接口…

【大模型从入门到精通32】开源库框架LangChain RAG 系统中的问答技术2

这里写目录标题 探索高级问答链类型MapReduce 和 Refine 技术 实用建议和最佳实践解决 RetrievalQA 限制结论进一步阅读和探索理论问题实践问题 探索高级问答链类型 MapReduce 和 Refine 技术 MapReduce 和 Refine 是设计用来规避由语言模型 (LM) 上下文窗口大小所导致的限制…

Pulsar官方文档学习笔记——消息机制

pulsar 基于3.x最新官方文档学习记录 概念与架构 典型的推送订阅模式。生产者发送消息,消费者订阅topic消费信息并回应ACK。订阅创建后,Pulsar会保留所有消息。仅消息被所有订阅 成功消费了才会丢弃(可以配置消息保留机制保留一定量&#…

裸金属服务器和裸金属云服务器:区别、优势与选择

首先,必须肯定的是:裸金属服务器和裸金属云服务器是有区别的。 ‌ 二者的概述 裸金属服务器(‌Bare Metal Server)‌是一种物理服务器,‌它直接在硬件上运行,‌没有额外的虚拟化层。‌这意味着每个应用程…

封装通用第三方平台用户表(微信开放平台)

文章目录 一. 注册微信开放平台1.1 开发者资质认证1.2 应用申请1.3 配置应用 二.通用数据库表设计三.入库实体类四. 对接第三方平台4.1 微信开放平台VO对象4.2 通用方法 我们的系统可能要对接很多第三方系统,为了便利用户授权使用和对多平台账户的管理。有必要设计通…

2024 江苏省第二届数据安全技术应用职业技能竞赛 初赛 部分wp

文章目录 一、前言二、参考文章三、题目(解析)数据安全解题赛1、ds_0602(30分)2、333.file(45分)3、pf文件分析(35分)4、丢失的资料(45分)5、greatphp&#x…

基于SpringBoot的来访管理系统的设计与实现-

TOC springboot600基于SpringBoot的来访管理系统的设计与实现---论文 绪 论 1.1项目研究的背景 随着科学技术发展,计算机已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公生活效…

Android类加载机制简介

一、前言 随着 Android 技术的不断发展,对其内部机制的探索也日益深入。类加载机制作为 Android 运行时环境的核心组成部分之一,影响着应用的性能、安全性以及可扩展性。通过对 Android 类加载机制的研究,开发者可以更好地优化代码结构、提高…

requests请求库入门使用

requests 库是一个功能强大且易于使用的 HTTP 请求库,适用于各种网络请求任务。它简化了 HTTP 请求的发送过程,并提供了丰富的功能来处理各种网络请求和响应。 1.安装 首先,你需要安装 requests 库。如果你还没有安装,可以使用 …