zookeeper选举kafka集群的controller

zookeeper选举kafka集群的controller目录


文章目录

  • zookeeper选举kafka集群的controller目录
  • 前言
  • 一、实操体验controller的选举
  • 二、模拟controller选举
  • 四、删除controller节点


前言

kafka集群的controller是kafka集群中一个有特殊作用的broker,负责整个kafka集群的
具体来说,Controller Broker的作用包括:

1‌.主题管理‌:Controller负责创建、删除主题以及增加主题的分区。当使用kafka-topics.sh脚本进行这些操作时,大部分后台工作由Controller完成‌1。
2‌.分区重分配‌:通过kafka-reassign-partitions.sh脚本对主题的分区进行细粒度的分配和管理。这有助于优化分区的分布,提高集群的性能和稳定性‌1。
‌3.Preferred领导者选举‌:为了避免某些Broker过载,Controller负责选举新的Leader副本,确保负载均衡‌1。
‌集群成员管理‌:包括新增Broker、Broker的主动或被动关闭等。当Broker宕机时,4.Controller会感知并处理相应的下线工作,保证集群的稳定性‌1。
‌数据服务‌:Controller存放最全的集群元数据信息,其他Broker会定期接收Controller的更新请求,刷新其元数据缓存,保证数据的一致性和最新状态‌2。
Kafka集群中的Controller Broker通过上述功能,确保了集群的高可用性、数据的一致性和系统的稳定性。


一、实操体验controller的选举

先按照这篇启动kafka集群
kafka-windows集群部署
启动之后 打开zookeeper可视化工具PrettyZoo
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这时候看到成功启动zookeeper之后 下面的znode节点
开始启动kafka
kafka-windows集群部署
启动了一个kafka的broker1之后,znode出现了一个临时节点controller 并且显示id是1,
说明当前的broker已经被选为controller
在这里插入图片描述
继续启动broker2,broker3
在这里插入图片描述
此时出现了三个id
在这里插入图片描述
但是controller仍然是broker1

二、模拟controller选举

假设我们关闭broker1
在这里插入图片描述
集群的broker都会参与controller的选举,被选举成功的,就接替旧的controller成为新的controller
继续关闭broker2呢?
在这里插入图片描述
剩下的节点会继续竞争,此时就剩下了broker3一个节点

四、删除controller节点

在这里插入图片描述
同样集群会马上监听到变化,马上继续选举出controller
在这里插入图片描述

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

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

相关文章

[python]Flask_Login

flask_login是flask框架中的一个拓展功能,用于更快捷的实现用户会话管理功能,主要处理登录,注销和长时间会话存储的功能处理。 目录 安装 使用 第一步,配置SECRET_KEY 第二步,创建LoginManager实例绑定app 第三步,用户类继承UserMixin …

【前端vue2 + element ui】Dialog 对话框:.vue组件跳转

【前端vue2 element ui】Dialog 对话框&#xff1a;.vue组件跳转 写在最前面一、父组件调用1、<template>1.1 跳转位置1.2 弹窗调用 2、<script>2.1 import2.2 export2.3 methods 二、子组件调用1、<template>2、<script>2.1 export2.2 watch和method…

【Unity】unity安卓打包参数(个人复习向/有不足之处欢迎指出/侵删)

1.Texture Compression 纹理压缩 设置发布后的纹理压缩格式 Use Player Settings:使用在播放器设置中设置的纹理压缩格式 ETC&#xff1a;使用ETC格式&#xff08;兼容&#xff09; ETC2&#xff1a;使用ETC2格式&#xff08;很多设备不支持&#xff09; ASTC&#xff1a;使用…

10.5今日错题解析(软考)

目录 前言面向对象技术——设计模式的应用场景计算机组成与体系结构——逻辑运算 前言 这是用来记录我备考软考设计师的错题的&#xff0c;今天知识点为设计模式的应用场景、逻辑运算&#xff0c;大部分错题摘自希赛中的题目&#xff0c;但相关解析是原创&#xff0c;有自己的…

国外电商系统开发-运维系统添加拓扑节点

通过创建节点的方式&#xff0c;把Linux服务器&#xff0c;还有路由器、交换机、防火墙等等网络设备加入网络拓扑中。 保存后看到如下列表&#xff1a;

利用条件概率解决“两个孩子的性别问题”

利用条件概率解决“两个孩子的性别问题”&#xff1a;深入分析与扩展 在日常生活中&#xff0c;概率问题常常会带来直观上的困惑&#xff0c;尤其是在涉及到条件概率的时候。今天我们讨论的这个问题是一个非常经典的例子&#xff1a;已知一对父母有两个孩子&#xff0c;其中一…

JavaWeb程序设计(第四版)习题参考答案

JavaWeb程序设计&#xff08;第四版&#xff09;习题参考答案 目录 模块1 习题参考答案 模块2 习题参考答案 模块3 习题参考答案 模块4 习题参考答案 模块5 习题参考答案 模块6 习题参考答案 模块7 习题参考答案 模块8 习题参考答案 模块1 习题参考答案 选择题 1 .A …

常用排序算法(下)

目录 2.5 冒泡排序 2.6 快速排序 2.6 1 快速排序思路 详细步骤 2.6 2 快速排序递归实现 2.6 3快速排序非递归&#xff1a; 快排非递归的优势 非递归思路 1. 初始化栈 2. 将整个数组的起始和结束索引入栈 3. 循环处理栈中的子数组边界 4. 单趟排序 5. 处理分区后的子…

Github界面学习

之前并没有使用到其他功能大多数是看代码&#xff0c;然后看discussion&#xff1b; now,在做毕设的时候发现了一个gymnasium关于异步环境的bug&#xff0c;查看github发现已经被修复了&#xff1b; 因此希望学习一下修复者是在哪个module修复以及如何修复以及提交代码&#…

Lesson1 - 操作系统概述与硬件视角

文章目录 什么是操作系统操作系统的形成 从程序看OS提出问题&#xff1a;从hello world文件开始目前编译器帮我们解决了诸多问题gcc的编译过程 CPU的运作CPU对任务的切换 什么是操作系统 操作系统 Operating System 是一组控制和管理计算机 硬件 和 软件 资源合理地对各类作业…

移动硬盘无法读取:问题解析与高效数据恢复实战

一、移动硬盘无法读取的困扰 在数字化时代&#xff0c;移动硬盘作为数据存储和传输的重要媒介&#xff0c;承载着大量珍贵的数据资源。然而&#xff0c;当移动硬盘突然无法读取时&#xff0c;我们往往会陷入深深的困扰之中。这种无法读取的现象可能表现为插入电脑后毫无反应、…

为什么e^x的导数是本身

参考Why is the derivative of exex?的解法如下。 主要是利用导数的定义&#xff0c;将 f ′ ( x ) f(x) f′(x)转化为另一个公式&#xff0c;其值为1。 lim ⁡ h → 0 e h − 1 h \lim_{h \to 0} \frac{e^h - 1}{h} h→0lim​heh−1​ 而如何求这个公式的值&#xff1f;有人…

【论文速看】DL最新进展20241005-Transformer、目标跟踪、Diffusion Transformer

目录 【Transformer】【目标跟踪】【Diffusion Transformer】 【Transformer】 [NeurlPS 2024] Parameter-Inverted Image Pyramid Networks 机构&#xff1a;清华大学、上海AI Lab、上交、港中文、商汤 论文链接&#xff1a;https://arxiv.org/pdf/2406.04330 代码链接&…

【文献阅读】Attention Bottlenecks for Multimodal Fusion

Abstract 在多模态视频分类中&#xff0c;将各模态的最终表示或预测进行后期融合&#xff08;“后期融合”&#xff09;仍然是主流范式。为此&#xff0c;本文提出了一种基于 Transformer 的新型架构&#xff0c;该架构使用“融合瓶颈”在多个层次进行模态融合。与传统的成对自…

D28【python 接口自动化学习】- python基础之输入输出与文件操作

day28 输入 学习日期&#xff1a;20241005 学习目标&#xff1a;输入输出与文件操作&#xfe63;-40 输入&#xff1a;如何接收用户通过键盘输入的数据&#xff1f; 学习笔记&#xff1a; 输入设备与输入方式 Input函数 命令行参数 可选参数 必填参数 强制转换参数类型 总…

Linux环境搭建git服务器和代码自动化部署

在开发过程中&#xff0c;我们经常遇到的问题就是提交代码到测试地址&#xff0c;然后进行线上测试。 要实现Git代码的自动化部署&#xff0c;考虑以下几种方法 FTP提交&#xff1a;可以使用FTP将代码上传到服务器自动化部署工具&#xff1a;如Jenkins、当代码被推送到仓库时…

【Kubernetes】常见面试题汇总(五十五)

目录 121. POD 创建失败&#xff1f; 122. POD 的 ready 状态未进入&#xff1f; 特别说明&#xff1a; 题目 1-68 属于【Kubernetes】的常规概念题&#xff0c;即 “ 汇总&#xff08;一&#xff09;~&#xff08;二十二&#xff09;” 。 题目 69-113 属于【Kube…

Java项目实战II基于Java+Spring Boot+MySQL的宠物咖啡馆平台的设计与实现(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者 一、前言 在快节奏的城市生活中&#xff0c;宠物咖啡馆作为一种结合了休闲与宠物陪伴的新型业态&#xff0c;正…

重学SpringBoot3-集成Redis(三)

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-集成Redis&#xff08;三&#xff09; 1. 引入 Redis 依赖2. 配置 RedisCacheManager 及自定义过期策略2.1 示例代码&#xff1a;自定义过期策略 3. 配置…

I/O多路转接

目录 一、select 1.1、select概念 1.2、select 函数原型 1.3、理解 select 执行过程 1.4、select就绪条件 1.4.1、读就绪 1.4.2、写就绪 1.4.3、异常就绪&#xff08;了解&#xff09; 1.5、select 基本工作流程 1.6、select服务器 1.6.1、Sock.hpp 1.6.2、selectS…