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

一、 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-hslabels:app: zk
spec:ports:- port: 2888name: server- port: 3888name: leader-electionclusterIP: Noneselector:app: zk
---
apiVersion: v1
kind: Service
metadata:name: zk-cslabels:app: zk
spec:ports:- port

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单调队列 维护区间最值(板子+两道练手)

1.P1886 滑动窗口 /【模板】单调队列https://www.luogu.com.cn/problem/P1886 板子题,传送门在上方 // Problem: // P1886 滑动窗口 /【模板】单调队列 // // Contest: Luogu // URL: https://www.luogu.com.cn/problem/P1886 // Memory Limit: 500 MB //…

订单超时自动取消订单实现策略

订单超时,自动取消,在生活中很常见。比如整点秒杀时,下单后,三十分钟没有付款。这个订单就会被自动取消。这个操作的实现策略有下面这几个: 方案一:使用JDK自带的延迟队列 JDK中提供了一种延迟队列数据结构…

【PyTorch][chapter 22][李宏毅深度学习]【无监督学习][ WGAN]【理论二】

前言: 本篇主要参考《Wasserstein GAN and the Kantorovich-Rubinstein Duality》 重点介绍一下 WGAN 的损失函数 是如何通过 Wasserstein Distance 变换过来的。 分为5步: 我们首先建立Wasserstein Distance 极小值形式, 经过对…

Rabbit MQ详解

写在前面,由于Rabbit MQ涉及的内容较多,赶在春招我个人先按照我认为重要的内容进行一定总结,也算是个学习笔记吧。主要参考官方文档、其他优秀文章、大模型问答。自己边学习边总结。后面有时间我会慢慢把所有内容补全,分享出来也是希望可以给…

【bug mysql】‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

【bug mysql】‘mysql’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 mysql常规错误,安装好了没有设置环境变量,报错了“mysql 不是内部或外部命令,也不是可运行的程序 或批处理文件。” 解决办法: 添加M…

安装、配置MySQL

安装相关软件 MySQL Server、MySQL Workbench MySQL Server:专门用来提供数据存储和服务的软件 MySQL Workbench:可视化的 MySQL 管理工具 官网安装 https://www.mysql.com/ 官网 MySQL :: Download MySQL Installer 安装包路径 在这里选择版本和和对应…

【毕设级项目】基于嵌入式的智能家居控制板(完整工程资料源码)

基于嵌入式的智能家居控制板演示效果 基于嵌入式的智能家居控制板 前言: 随着科技的不断进步,物联网技术得到了突飞猛进的发展。智能家居是物联网技术的典型应用领域之一。智能家居系统将独立家用电器、安防设备连接成一个具有思想的整体,实现…

MyBatis3源码深度解析(十)MyBatis常用工具类(三)MetaObjectMetaClass

文章目录 3.4 MetaObject3.5 MetaClass 3.4 MetaObject MetaObject是MyBatis提供的反射工具类,可以方便地获取和设置对象的属性值。 该工具类在MyBatis源码中出现的概率非常高。 假设有两个实体类:用户信息User和订单信息Order,一个用户可…

速卖通批量注册买家号安全吗?怎么弄?

在速卖通等跨境电商平台上,买家号的注册与养号过程繁琐而复杂。传统的手动注册方式效率低下,难以满足大规模的需求。而跨境智星系统凭借其全自动化的功能,能够轻松实现买家号的批量注册与养号,大大提高了效率。 使用跨境智星系统进…

虹科Pico汽车示波器 | 免拆诊断案例 | 2015 款路虎神行者车熄火后散热风扇依旧高速运转

一、故障现象 一辆2015款路虎神行者车,搭载2.2 L发动机,累计行驶里程约为16万km。车主反映,车辆熄火后,散热风扇依旧高速运转,且无法停止。 二、故障诊断 接车后首先试车,故障现象的确存在。使用故障检…

KNN算法对鸢尾花进行分类:添加网格搜索和交叉验证

优化——添加网格搜索和交叉验证 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection imp…

Kafka MQ broker和集群

Kafka MQ broker和集群 broker和集群 一个独立的 Kafka 服务器被称为 broker。broker 接收来自生产者的消息,为消息设置偏移量,并提交消息到磁盘保存。broker 为消费者提供服务,对读取分区的请求作出响应,返回已经提交到磁盘上的…