• 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,并且它们是集群的一部分。

  • 相关阅读:
    生成更大的陆地 Making A Large Island
    HDU 3342 Legal or Not【拓扑排序】
    POJ 2367 Genealogical tree【拓扑排序】
    CodeForces Round #290 Div.2
    HDU 1010 Tempter of the Bone【DFS】
    HDU 1312 Red and Black【DFS】
    POJ 1664 放苹果【DFS】
    HDU 1587 Flowers【贪心】
    Codeforces Round #289 Div 2
    HDU 1241 Oil Deposits【DFS】
  • 原文地址:https://www.cnblogs.com/Lyh1997/p/11458029.html
Copyright © 2020-2023  润新知