栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

kafka 集群元数据管理

kafka 集群元数据管理

AdminManager

admin管理类 包含了 元数据缓存和 zk 监听客户端
class AdminManager(val config: KafkaConfig,
val metrics: Metrics,
val metadataCache: metadataCache,
val zkClient: KafkaZkClient)

  • zk 注册监听处理器
    case EventType.NodeChildrenChanged => zNodeChildChangeHandlers.get(path).foreach(.handleChildChange())
    case EventType.NodeCreated => zNodeChangeHandlers.get(path).foreach(
    .handleCreation())
    case EventType.NodeDeleted => zNodeChangeHandlers.get(path).foreach(.handleDeletion())
    case EventType.NodeDataChanged => zNodeChangeHandlers.get(path).foreach(
    .handleDataChange())
  • 监听到的事件放入 事件管理器的 事件队列 EventManager
    根据事件类型 KafkaController::process
集群控制器 controller 注册

集群启动后,broker 在 /controller 节点注册controller, 负责启动自选举或者分配 partition 主备策略。

  • controller 不存在, brokerid 和 epoch 写入 zk 这个节点
  • 对于controller 注册成功的 broker ,tcp 消息 通知其他broker 更新元数据,此时只有所有brokerid
  • 初始化本地副本状态机, 初始化分区状态机
  • 对于配置有推荐leader(PreferredReplicaLeaderElection),在 brokers/topics 节点根据配置 leader和isr, 更新分区状态机, 并通知其他brokerid
  • 如果配置自由选leader,启动 AutoPreferredReplicaLeaderElection
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/653728.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号