Kubernetes kafka系列 | k8s部署kafka+zookeepe集群(可外部通信)| kafka docekr镜像制作-v3.5.2

news2025/1/16 16:08:33

一、 Kafka、ZooKeeper 的分布式消息队列系统总体架构

在这里插入图片描述
典型的 Kafka 体系架构包括若干 Producer(消息生产者),若干 Broker(作为 Kafka 节点的服务器),若干 Consumer (Group),以及一个 ZooKeeper 集群。

Kafka 通过 ZooKeeper 管理集群配置、选举 Leader,并在 Consumer Group 发生变化时进行 Rebalance(即消费者负载均衡)。Producer 使用 Push(推)模式将消息发布到 Broker,Consumer 使用 Pull(拉)模式从 Broker 订阅并消费消息。
Kafka 节点涉及 Topic、Partition 两个重要概念。
在这里插入图片描述
在 Kafka 架构中,有几个术语需要了解下。

  • Producer: 生产者,即消息发送者,Push 消息到 Kafka 集群的 Broker(就是 Server)中; Broker:
    Kafka 集群由多个 Kafka 实例(Server)组成,每个实例构成一个 Broker,其实就是服务器;
  • Topic: Producer 向 Kafka 集群 Push 的消息会被归于某一类别,即
    Topic。本质上,这只是一个逻辑概念,面向的对象是 Producer 和 Consumer,Producer 只需关注将消息 Push
    到哪一个 Topic 中,而 Consumer 只需关心自己订阅了哪个 Topic;
  • Partition: 每个 Topic 又被分为多个 Partition,即物理分区。出于负载均衡的考虑,同一个 Topic 的
    Partition 分别存储于 Kafka 集群的多个 Broker 上。而为了提高可靠性,这些 Partition 可以由 Kafka
    机制中的 Replicas 来设置备份的数量。如上面框架图所示,每个 Partition 都存在两个备份;
  • Consumer: 消费者,从 Kafka 集群的 Broker 中 Pull 消息、消费消息;
  • Consumer Group: High-Level Consumer API 中,每个 Consumer 都属于一个 Consumer
    Group,每条消息只能被 Consumer Group 中的一个 Consumer 消费,但可以被多个 Consumer Group 消费;
  • Replicas: Partition 的副本,保障 Partition 的高可用;
  • Leader: Replicas 中的一个角色, Producer 和 Consumer 只与 Leader 交互;
  • Follower: Replicas 中的一个角色,从 Leader 中复制数据,作为它的副本,同时一旦某 Leader
    挂掉,便会从它的所有 Follower 中选举出一个新的 Leader 继续提供服务;
  • Controller: Kafka 集群中的一个服务器,用来进行 Leader Election 以及各种 Fail Over;
    Zookeeper: Kafka 通过 ZooKeeper 存储集群的 Meta 信息等,文中将详述。

Kafka、ZooKeeper 的分布式消息队列系统总体架构已经简单了解啦,接下来开始上干货!

二、部署nfs-provisioner 实现PV 动态供给(StorageClass)

nfs-provisioner 直通车链接

三、集群部署

# 操作系统

# CentOS Linux release 7.9.2009 (Core)
lsb_release -a

# 内核版本
# 3.10.0-1160.90.1.el7.x86_64
uname -a
# k8s 版本 1.21
# zookeeper 版本 3.4.10
# kafka 版本 3.5.2

一、Zookeeper on k8s 部署

在这里插入图片描述

k8s官网参考链接
zookeeper.yaml

apiVersion: v1
kind: Service
metadata:
  name: zk-hs
  labels:
    app: zk
spec:
  ports:
  - port: 2888
    name: server
  - port: 3888
    name: leader-election
  clusterIP: None
  selector:
    app: zk
---
apiVersion: v1
kind: Service
metadata:
  name: zk-cs
  labels:
    app: zk
spec:
  ports:
  - port

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

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

相关文章

自动化运维工具 ---------------Ansible

一、Ansible 发展史及功能 作者:Michael DeHaan( Cobbler pxe kikstar 与 Func 作者)ansible 的名称来自科幻小说《安德的游戏》中跨越时空的即时通信工具,使用它可以在相距数光年的距离,远程实时控制前线的舰队战斗2…

AI人员睡岗识别摄像机

近年来,随着人工智能技术的不断发展,智能监控系统也得到了广泛应用。其中,AI人员睡岗识别摄像机作为一种新型的智能监控设备,正在逐渐受到企业和机构的关注和使用。这种摄像机利用人工智能技术,能够实时监测和识别工作…

智能指针的讲解

1.为什么要智能指针 首先我们分析一段代码: 1、如果p1这里new 抛异常会如何? 2、如果p2这里new 抛异常会如何? 3、如果div调用这里又会抛异常会如何? int div() {int a, b;cin >> a >> b;if (b 0)throw invalid_ar…

别再写传统简历了!AI简历5个超实用的功能,助你求职一臂之力(强烈建议收藏)

你们在制作简历时,是不是基本只关注两件事:简历模板,还有基本信息的填写。 当你再次坐下来更新你的简历时,可能会发现自己不自觉地选择了那个“看起来最好看的模板”,填写基本信息,却没有深入思考如何使简历更具吸引力。这其实是一个普遍现象:许多求职者仍停留在传统简历…

使用Julia语言展示几何平均值与算数平均值在实际应用中的差别(采用注册计量师考试试题)

理论部分 在注册计量师考试中有一道试题,大体内容为: 现在有一块砝码在等臂天平上进行测量,第一次测得值是19.6g,调换两边位置后的测得值是19.7g, 天平最终测得检测样品的重量为多少? 个别同事可能会将算…

每日一题leetcode -299.猜数字游戏

水一期 class Solution { public:string getHint(string secret, string guess) {int bulls 0;vector<int> cntS(10), cntG(10);for (int i 0; i < secret.length(); i) {if (secret[i] guess[i]) {bulls;} else {cntS[secret[i] - 0];cntG[guess[i] - 0];}}int c…

蓝桥杯真题讲解:三国游戏(贪心)

蓝桥杯真题讲解&#xff1a;三国游戏&#xff08;贪心&#xff09; 一、视频讲解二、正解代码 一、视频讲解 蓝桥杯真题讲解&#xff1a;三国游戏&#xff08;贪心&#xff09; 二、正解代码 //三国游戏&#xff1a;贪心 #include<bits/stdc.h> #define int long lon…

DJI RONIN 4D变0字节恢复案例

RONIN 4D这个产品听起来比较陌生&#xff0c;还是DJI大疆出品。没错&#xff0c;这是大疆进军影视级的重点明星机型。前阵子刚处理过大疆RONIN 4D的修复案例&#xff0c;下边这个案例是和exfat有关的老问题:文件长度变成0字节。 故障存储:希捷18T /MS Exfat文件系统。 故障现…

navicat查询结果导出(excle、txt、sql、html等)

执行查询结果后按照如下流程操作&#xff1a; 1、点击“文件”&#xff0c;选择“导出结果” 2、在弹出的弹窗中选择“导出当前的结果” 3、选择需要导出的格式&#xff0c;点击“下一步” 4、选择路径后&#xff0c;点击“下一步” 5、默认点击“下一步” 6、点击“开始” 7、…

计算机缺失iutils.dll怎么办,分享5种靠谱的解决方法

​在计算机系统运行过程中&#xff0c;如果发现无法找到或缺失iutils.dll文件&#xff0c;可能会引发一系列的问题与故障。首先&#xff0c;由于iutils.dll是系统中一个重要的动态链接库文件&#xff0c;它的主要功能可能涉及到系统核心服务、应用程序支持或者特定功能模块的运…

漫途桥梁结构安全监测方案,护航桥梁安全!

桥梁作为城市生命线的重要组成部分&#xff0c;承载着城市交通、物流输送、应急救援等重要职能。然而&#xff0c;随着我国社会经济的飞速发展&#xff0c;桥梁所承载的交通流量逐年增长&#xff0c;其安全性所面临的挑战亦日益严峻。例如恶劣的外部环境、沉重的荷载以及长期使…

C语言例2-1:从键盘输入两个整数,计算其乘积

代码如下&#xff1a; //从键盘输入两个整数&#xff0c;计算其乘积 #include<stdio.h> int main(void) /*主函数*/ {int n1, n2, result; /*定义保存两个整数及其乘积的变量*/printf("please inp…

深圳市优质IDC服务商

深圳市南方联合科技有限公司是一家立足深圳、辐射全国的电信中立数据中心运营商&#xff0c;依托与电信运营商、IT 设备厂商在资源及渠道上的优势&#xff0c;借鉴业界成功运营经验&#xff0c;为用户提供持续、高速、安全的互联网数据中心服务&#xff08;IDC&#xff09;、企…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:TextPicker)

滑动选择文本内容的组件。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 TextPicker(options?: {range: string[] | string[][] | Resource | TextPickerRangeContent[] | Te…

使用webpack打包ts代码

通常情况下&#xff0c;实际开发中需要使用构建工具对代码进行打包&#xff0c;TS也可以结合构建工具进行使用&#xff0c;以webpack为例&#xff0c;介绍如何结合构建工具使用TS。 基本功能实现步骤&#xff1a; 项目初始化&#xff0c;生成package.json&#xff1a;npm ini…

智能化工厂大屏监控

通过采集和整合工厂各个环节的数据&#xff0c;包括设备状态、生产进度、质量指标、能源消耗等&#xff0c;并将这些数据以图表、动画、报表等形式展示在大屏上。 智能化工厂大屏监控可以提供以下优势&#xff1a; 实时监控&#xff1a;通过大屏幕展示工厂各项数据&#xff0c…

【安装教程】在Ubuntu上安装MySQL和InfluxDB

一、安装MySQL 官方文档 MySQL :: MySQL Installation Guide :: 7.1 Installing MySQL on Linux Using the MySQL Yum Repositoryhttps://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/linux-installation-yum-repo.html 1、进入下列网站&#xff0c;选择合适版本的…

【CSP】2021-12-2 序列查询新解 分段处理 用乘法代替加法减少时间复杂度(思想是离散化)

2021-12-2 序列查询新解 分段处理 用乘法代替加法减少时间复杂度&#xff08;思想是离散化&#xff09;2021-12-2 序列查询新解 分段处理 用乘法代替加法减少时间复杂度&#xff08;思想是离散化&#xff09; 2021-12-2 序列查询新解 分段处理 用乘法代替加法减少时间复杂度&am…

1435A/B-V信号发生器

1435A/B-V 信号发生器 高兼容性 高输出功率 高灵敏度 1435-V系列信号发生器是一款性能优良的矢量信号发生器&#xff0c;频率范围覆盖9kHz&#xff5e;6GHz&#xff0c;200MHz内部调制带宽和齐全的数字调制样式&#xff0c;可满足各种宽带数字调制信号的模拟需求。 PART.0…

2024年3月份实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

首先&#xff0c;来看下效果图 在线体验地址&#xff1a;https://geojson.hxkj.vip&#xff0c;并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…