Zookeeper知识学习
一、什么是Zookeeper?
ZooKeeper 是一个开源Apache项目,提供集中式服务,用于在分布式系统中的大型集群上提供集中服务,用于维护命名和配置数据,并在分布式系统中提供灵活,强大的同步。Zookeeper 跟踪 Kafka 集群节点的状态,并跟踪Kafka主题,分区等。Zookeeper 允许多个客户端同时执行读写操作,并充当系统内的共享配置服务。
二、为什么Kafka需要用到 Zookeeper?
* Controller election
Controller 是 Kafka 生态系统中最重要的 Broker 实体之一,它还有责任维护所有分区中的 leader-follower 关系。如果节点由于某种原因而shut down,则控制器有责任告知所有 replicas 充当分区负责人,以便履行即将失败的节点上的分区负责人的职责。因此,每当一个节点关闭时,就可以选出一个新的 Controller,并且还可以确保在任何给定的时间,只有一个 Controller,并且所有的 Follower 节点都同意。
* Configuration Of Topics
有关所有 topic 的配置,包括现有 topic 列表,每个 topic 的 partitions number,所有 partition 的位置,所有 topic 的配置覆盖列表以及哪个节点是 preferred leader 等。
* Access control lists
所有topics的访问控制列表或ACL也在Zookeeper中维护。
* Membership of the cluster
Zookeeper还维护一个列表,列出在任何给定时刻正在运行的所有 brokers,并且它们是集群的一部分。
转载于:https://www.cnblogs.com/Lyh1997/p/11458029.html
Zookeeper知识学习相关推荐
- Java知识学习与总结
Java知识学习与总结 本项目都是自己平时学习Java知识的总结,内容涵盖Java基础知识,算法,设计模式,并发,分布式,高可用,微服务等领域知识.下面是我对以上知识点的学习心得做了系统的整理,方便学 ...
- 虚幻引擎的数学知识学习教程 Math for Unreal Engine (Early Preview)
通过做真实世界的 Unreal Engine项目来学习数学 你会学到什么 理解游戏开发对数学的基本需求 将数学直接应用到用例中,而不是钻研理论(用我们的示例项目进行实践) 正确编辑短视频,节省您的时间 ...
- 三代测序知识学习----Sequel
三代测序知识学习----Sequel (2017-03-26 22:38:34) 转载▼ 分类: 三代 知识链接:http://www.pacb.com/blog/new-chemistry-so ...
- 计算机二级二叉树基础知识,2017年计算机二级公共基础知识学习教程:树与二叉树...
(六)树与二叉树 1.树的基本概念 树是一种简单的非线性结构.在树结构中,数据元素之间有着明显的层次结构.在树的图形表示中,用直线连接两端的结点,上端点为前件,下端点为后件. 在树结构中,每一个结点只 ...
- c语言运算符ppt,C语言知识学习运算符.ppt
C语言知识学习运算符.ppt 第三章,C语言运算符,回顾,变量和常量的含义 熟悉基本数据类型 - int.char.float 和 double 使用算术运算符 理解类型转换 熟练使用 scanf 和 ...
- 安全测试3_Web后端知识学习
其实中间还应该学习下web服务和数据库的基础,对于web服务大家可以回家玩下tomcat或者wamp等东西,数据库的话大家掌握基本的增删该查就好了,另外最好掌握下数据库的内置函数,如:concat() ...
- Python 基础知识学习笔记——NumPy
Python基础知识学习笔记--NumPy 与 matlab 优秀的矩阵运算类似,python 提供了 numpy 库,这对熟悉 matlab 的用户来说非常友好.向量.矩阵和多维数组是数值计算中必不 ...
- Python 基础知识学习笔记——OpenCV(1)
Python 基础知识学习笔记--OpenCV(1) OpenCV是一个开源的跨平台计算机视觉和机器学习软件库,它轻量而且高效,被广泛的使用. 整理一下OpenCV学习笔记,以防忘记. 文章目录 Py ...
- Python基础知识学习笔记——Matplotlib绘图
Python基础知识学习笔记--Matplotlib绘图 整理python笔记,以防忘记 文章目录 Python基础知识学习笔记--Matplotlib绘图 一.绘图和可视化 1.导入模块 2.一个简 ...
最新文章
- TCP/IP详解--第四章
- php根据位置获取经纬度(百度地图)
- C#8.0: 在 LINQ 中支持异步的 IAsyncEnumerableT接口
- Myeclipse 更改web项目的访问名
- centos7下安装nginx的方法
- JVM笔记7:类加载器
- 使用Json.Net处理json序列化和反序列化接口或继承类
- Android 隐藏环形进度条,Android环形进度条
- bzoj1835基站选址(dp+线段树)
- 在Web页面中控制其元素的选择状态
- coolfire文章之七
- android mac地址过滤,android手机怎么更改mac地址绕过mac过滤
- 基于word2vec的QA demo
- 整理阿里巴巴社招最新面试题及答案,附复学习笔记,面试成功归来
- 大学以来到大二的自我评价
- 5 matlab详解牛顿下山法求解复杂函数代数方程和超越方程
- Admin - 验证列表 ValidateList<E>
- 银联IC卡读卡流程详解--读卡器与卡交互指令
- log4j2日志配置不生效
- “佐藤可士和”的超整理术 整理真的可以让人愉悦
热门文章
- 初看Mybatis 源码 (二) Java动态代理类
- 反流技术之IE插件技术研究
- python读取csv文件并修改指定内容-pandas读取CSV文件时查看修改各列的数据类型格式...
- python自带的集成开发环境是什么-常用的几款Python集成开发环境或者编辑器详解...
- python代码写完怎么运行-Python 项目代码写完了,然后怎么打包和发布?
- python如何读取中文文件-如何用Python提取中文关键词?
- python画-用Python画一颗特别的心送给她
- python怎么输入代码-python中如何设置代码自动提示
- python有趣代码-你都知道哪些有趣的Python代码?
- python turtle画椭圆-python turtle 绘制太极图的实例