K8S系列——(二)、K8S部署RocketMQ集群

devtools/2024/9/20 7:26:47/ 标签: kubernetes, 容器, 云原生

1、环境准备

要将RocketMQ部署到K8S上,首先你需要提前准备一个K8S集群环境,如图我已经准备好了一个版本为 v1.28.13 的 K8S 集群(其他版本也没问题):

角色IP
Master192.168.6.220
Node-1192.168.6.221
Node-2192.168.6.222

在这里插入图片描述

2、RocketMQ的部署方式

  • 2m-noslave: 多Master模式,无Slave [双主模式]
  • 2m-2s-sync: 多Master多Slave模式,同步双写 [双主双从+同步模式]
  • 2m-2s-async:多Master多Slave模式,异步复制 [双主双从+异步模式]

3、RocketMQ发送消息方式

  • 同步发送: 指消息发送方发出数据后会在收到接收方发回响应之后才发下一个数据包
  • 异步发送: 指发送方发出数据后,不等接收方发回响应,接着发送下个数据包, 异步方式也需要Broker返回确认信息
  • 单向发送: 指只负责发送消息而不等待服务器回应且没有回调函数触发

4、RocketMQ三种消息发送模式使用场景

具体使用哪种模式,这主要是看应用场景

  • 同步发送:主要运用在比较重要一点消息传递/通知等业务
  • 异步发送:通常用于对发送消息响应时间要求更高/更快的场景
  • 单向发送:适用于某些耗时非常短,但对可靠性要求并不高的场景,例如日志收集,只发送消息不等待服务器响应,只发送请求不等待应答。此方式发送消息的过程耗时非常短,一般在微秒级别

5、RocketMQ端口

  • rocketmq 默认端口:9876(即nameserver端口)
  • 非vip通道端口:10911
  • vip通道端口:10909
    • 10909是VIP通道对应的端口,在JAVA中的消费者对象或者是生产者对象中关闭VIP通道即可无需开放10909端口
本文部署的是RocketMQ的双主双从+同步模式
  • broker-a-master 主1
  • broker-b-master 主2
  • broker-a-slave 从1
  • broker-a-slave 从2
  • NameServer(注册中心)
  • rocketmq-console(可视化web界面)

6、安装NFS

因为系统当中的rocketmq、mysql、nacos、redis和file文件模块需要持久化的文件存储,所以我们要为这些持久化的文件存储创建目录。这次我打算使用nfs,需要准备一台nfs服务器,为了方便我就直接使用k8s的主节点来充当nfs服务器了。先来安装 nfs-utils 软件包(注意所有k8s节点都要安装)

6.1 更新软件包列表:

在终端中运行以下命令,更新你的软件包列表,以确保你可以获得最新的软件包版本。

 sudo apt update

6.2 安装NFS相关软件包:

在Ubuntu中,nfs-utils实际上是nfs-commonnfs-kernel-server这两个软件包的组合。你可以使用以下命令来安装这些软件包,3台机器上都要执行:

sudo apt install nfs-common nfs-kernel-server
  • nfs-common 包含客户端和服务器共用的工具和文件。
  • nfs-kernel-server 包含NFS服务器的相关工具和服务。

6.3启动并启用NFS服务:

安装完成后,启动NFS服务器,并将其设置为开机自启动:

sudo systemctl start nfs-server
sudo systemctl enable --now nfs-server

6.4验证安装:

你可以使用以下命令来验证NFS服务是否已经正常启动:

sudo systemctl status nfs-server

在这里插入图片描述

完成这些步骤后,nfs-utils(即nfs-commonnfs-kernel-server)应该已经在你的Ubuntu系统上成功安装并启动。

6.5创建共享目录

在k8s-master节点上,创建文件共享目录。

#HDD机械硬盘上的挂载目录
sudo mkdir -p /mnt/renpho/nfs/data/share
#SSD固态硬盘上的挂载目录
sudo mkdir -p /home/ec2-user/k8s/nfs/data/share/nacos

接下来我们需要将这些目录暴露给内网访问,先执行下面这行命令修改nfs的配置文件:

sudo cat >> /etc/exports << EOF
/mnt/renpho/k8s/nfs/data/share *(rw,sync,no_subtree_check,no_root_squash)
/home/ec2-user/k8s/nfs/data/share *(rw,sync,no_subtree_check,no_root_squash)
EOF

然后可以使用下面这行命令查看目录的暴露是否成功(注意修改nfs服务器地址):

showmount -e 192.168.6.220

在这里插入图片描述

7、部署RocketMQ集群

7.1制作镜像

7.2制作镜像


http://www.ppmy.cn/devtools/100466.html

相关文章

2.3.2存储修改调整

如果使用的是云存储&#xff0c;错误提示&#xff1a;这个点击生成海报&#xff0c;直接提示 二维码生成失败 修改方法路径&#xff1a;crmeb\services\QrcodeService.php 增加代码&#xff1a; (string) 2. 本地存储修改 &#xff1a; //return $this->setError(‘请检…

解读FastAPI异步化为transformers模型打造高性能接口解析

from fastapi import FastAPI from transformers import AutoModel, AutoTokenizer import numpy as np from starlette.responses import JSONResponseapp FastAPI()加载模型和分词器 model AutoModel.from_pretrained("distilbert-base-uncased")tokenizer Aut…

SQL 简易建库和增删改查

创建数据库 : create database 数据库名称 声明要编写的数据库&#xff1a;use 数据库 创建数据表&#xff1a;create table 查询数据&#xff1a;select * from 数据表 &#xff1a;*表示要查询所有数据 条件查询&#xff1a;select* from Students where Memo lik…

旧物上门回收系统架构分析

随着环保意识的增强和资源循环利用的重视&#xff0c;旧物上门回收系统逐渐成为现代城市生活的一部分。这些系统通过先进的技术架构&#xff0c;实现了废品的高效回收与再利用&#xff0c;为环境保护和可持续发展做出了积极贡献。本文将从系统架构的角度&#xff0c;对旧物上门…

vue实现卡片遮罩层交互式功能

前言 在前端开发中&#xff0c;卡片遮罩层是一种常见的交互设计元素&#xff0c;用于强调某个区域或内容&#xff0c;并提供用户操作的入口。本文将带大家在 vue 中结合实际案例实现此功能。 实现效果 完整代码 html <template><!-- 主容器 --><div class&quo…

华为:IT系统的演进与数字时代IT系统的重新定位

往期回顾&#xff1a; 企业4A架构&#xff1a;数字化转型的底层方法论&#xff08;附TOGAF资料下载&#xff09; PPT分享&#xff1a;数据治理的方法论、设计思路与方案&#xff08;干货&#xff09; 浅谈数字化转型方法论 110页PPT:xx业务流程优化&#xff08;BPR&#xff…

【Python脚本】爬取网络小说

原文链接&#xff1a;https://www.cnblogs.com/aksoam/p/18378309 作为重度小说爱好者, 小说下载网站经常被打击,比如:笔趣阁,奇书网,爱书网,80电子书.这些网站的下载链接经常会失效, 所以, 我想自己动手写一个爬虫程序, 抓取网络小说, 并下载到本地. 给出两种思路的python脚…

2-71 基于matlab的小波分析在心电信号去噪中的应用

基于matlab的小波分析在心电信号去噪中的应用&#xff0c;主要针对心电信号中的肌电干扰/基线漂移/工频干扰进行的算法研究&#xff0c;输出了三类去噪结果。程序已调通&#xff0c;可直接运行。 2-71 基线漂移去噪 工频干扰去噪 - 小红书 (xiaohongshu.com)

【区块链 + 智慧文旅】版权区块链系统 | FISCO BCOS应用案例

区块链技术的出现&#xff0c;给数字内容版权保护带来创新模式。如何将区块链多中心化、防篡改和可溯源等特性与版权 保护结合&#xff0c;是实现版权存证确权、版权交易授权与侵权监测维权的关键。版权区块链系统基于FISCO BCOS区块链 平台开发&#xff0c;实现了版权确权存证…

水库水文监测站

水库水文监测站的作用是对水库进行实时监测和数据收集&#xff0c;以评估和管理水库的水文情况。具体的作用包括&#xff1a; 监测水位&#xff1a;水库水文监测站可以实时监测水库的水位变化&#xff0c;用于掌握水库的蓄水情况和水位变化趋势。这对于水库的运营管理、灌溉和防…

企业级NoSql数据库Redis集群

关系型数据库和 NoSQL 数据库 数据库主要分为两大类&#xff1a; 关系型数据库与 NoSQL 数据库 关系型数据库是建立在关系模型基础上的数据库&#xff0c;其借助于集合代数等数学概念和方法来处理数据库 中的数据主流的 MySQL、Oracle、MS SQL Server 和 DB2 都属于这类传统数…

树莓派制成的 — 带运动检测和摄像头的安防系统

自动布防/撤防、运动检测、带图片的移动通知 项目所用物品 硬件组件 Raspberry Pi 1 Model A 一个&#xff1a;任何支持摄像头模块的 Raspberry Pi 均可 Raspberry Pi 摄像头模块一个 USB WLAN/WiFi适配器一个&#xff1a;必须支持监控模式&#xff0c;推荐使用RT5370 M…

单例模式和多例模式

一.单例模式 单例模式&#xff08;Singleton Pattern&#xff09;是一种常用的软件设计模式&#xff0c;用于确保一个类仅有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。这种模式在需要控制资源访问&#xff0c;如配置文件读取、数据库连接、线程池等场景中非常…

SSL连接出错原因有哪些?

在当今数字化时代&#xff0c;网络安全至关重要。SSL&#xff08;Secure Sockets Layer&#xff0c;安全套接层&#xff09;协议作为一种为网络通信提供安全及数据完整性的安全协议&#xff0c;被广泛应用于各种网络场景中&#xff0c;如网页浏览、电子邮件、在线支付等。然而&…

汉服文化平台网站

您好&#xff01;本篇论文将详细介绍汉服文化平台网站的设计与实现&#xff0c;该项目基于Java语言&#xff0c;采用SSM框架&#xff0c;结合MySQL数据库完成开发。如果您对汉服文化或本项目有任何兴趣或疑问&#xff0c;欢迎随时与我联系。 开发语言 Java 数据库 MySQL 技…

Python中使用pip换源的详细指南

在Python开发过程中&#xff0c;我们经常需要安装各种第三方库。pip是Python的包管理工具&#xff0c;用于安装和管理Python库。然而&#xff0c;由于网络原因&#xff0c;有时访问默认的Python包索引&#xff08;PyPI&#xff09;可能会比较慢。这时&#xff0c;我们可以通过更…

强化学习5:策略梯度推导

1 介绍 Q-learning、SARSA 等算法都是基于值的学习方法。基于值的方法主要用于离散动作空间。如果动作空间是连续的&#xff0c;离散化可能会导致精度下降或增加计算复杂度。基于值的方法通常要求对每个状态-动作对估计值函数&#xff0c;这限制了策略的复杂性和灵活性。为了使…

抖音收购“联动优势”,存量客户将清退

持牌支付机构联动优势电子商务有限公司&#xff08;以下简称“联动支付”&#xff09;母公司海联金汇科技股份有限公司&#xff08;以下简称“海联金汇”&#xff09;发布公告:将联动支付作价14亿元转让天津同融电子商务有限公司&#xff08;以下简称“同融电子”&#xff09; …

Flink CDC Standalone模式部署及Flink CDC Job提交

目录 部署规划 Flink CDC下载 Flink CDC安装 安装包解压 添加connector包 添加MySQL驱动 提交Flink CDC任务 独立模式(Standalone mode)是Flink最简单的部署模式。本文将介绍如何下载、安装和运行Flink CDC。 Flink CDC是基于Flink开发的一个流式数据…

SpringBoot笔记01

第1章 Spring Boot概要 1.1 SpringBoot介绍 随着动态语言的流行&#xff08;Ruby、Scala、Node.js&#xff09;, Java的开发显得格外的笨重&#xff1b;繁多的配置、低下的开 发效率、复杂的部署流程以及第三方技术整合难度大。 在上述环境下&#xff0c;Spring Boot由此诞生…