做任务拿赏金的网站,开发网站年度工作总结及明年工作计划,wordpress nginx 配置文件,做国外网站的零售【Kafka】Kafka Broker工作流程、节点服役与退役、副本、文件存储、高效读写数据 1. Kafka Broker 工作流程1.1 Zookeeper 存储的 Kafka 信息1.2 Kafka Broker总体工作流程1.2.1 Controller介绍 1.3 Broker 重要参数 2. 节点服役与退役3. Kafka副本 1. Kafka Broker 工作流程
… 【Kafka】Kafka Broker工作流程、节点服役与退役、副本、文件存储、高效读写数据 1. Kafka Broker 工作流程1.1 Zookeeper 存储的 Kafka 信息1.2 Kafka Broker总体工作流程1.2.1 Controller介绍 1.3 Broker 重要参数 2. 节点服役与退役3. Kafka副本 1. Kafka Broker 工作流程
1.1 Zookeeper 存储的 Kafka 信息
启动Zookeeper客户端
[atguiguhadoop102 zookeeper-3.5.7]$ bin/zkCli.sh通过 ls 命令可以查看 kafka 相关信息
[zk: localhost:2181(CONNECTED) 2] ls /kafka1.2 Kafka Broker总体工作流程 Broker注册每个Kafka Broker在启动时会向ZooKeeper注册自己ZooKeeper维护一个活动Broker列表这个列表便于集群中的各个Broker相互发现并进行通信。 Leader选举 Controller负责选举分区的领导者。当一个分区的领导者副本不可用时Controller会选择一个新的副本作为领导者。选举结果通过ZooKeeper更新并通知所有相关的Broker。 监控 Controller会监控Broker节点的变化。 Controller决定选举选举规则在isr中存活为前提按照AR中排在前面的优先。例如ar[1,0,2], isr [102]那么leader就会按照102的顺序轮询 Controller将节点信息上传到ZK Controller将领导者选举的结果和副本状态变更通知所有相关的Broker确保它们有最新的元数据信息。
1.2.1 Controller介绍
在Kafka集群中并不是每个Broker都有一个Controller而是整个集群中只有一个活跃的Controller。这个Controller由一个Broker担任其职责是管理和协调整个集群的元数据和状态变更。以下是关于Kafka Controller的详细介绍
Kafka Controller职责
分区副本状态管理 领导者选举 当一个分区的领导者副本不可用时Controller负责选举新的领导者副本确保分区始终有一个活跃的领导者来处理读写请求。 副本同步 Controller监控副本的状态并确保追随者副本与领导者副本保持同步。不同步的副本会被标记为“Out of Sync”OOS。Broker管理 Broker注册和注销 当一个Broker加入或退出集群时Controller会更新集群的元数据并重新分配分区和副本以确保负载均衡和高可用性。 集群扩展和缩减 Controller处理Broker的增加或减少进行相应的分区和副本重新分配。分区重新分配 负载均衡 当集群中负载不均衡时Controller可以根据配置重新分配分区和副本确保各个Broker的负载均衡。 分区迁移 Controller协调分区和副本在不同Broker之间的迁移实现高效的负载管理和故障恢复。集群元数据管理 元数据更新 Controller管理集群范围内的所有元数据更新包括主题创建、删除、配置变更等。 通知Broker 当元数据发生变化时Controller通知所有相关的Broker确保它们使用最新的配置信息。故障检测和恢复 Broker故障检测 Controller定期检查Broker的状态如果检测到某个Broker故障它会触发相应的故障恢复机制。 故障恢复 在Broker故障的情况下Controller重新分配该Broker上的分区和副本确保消息的高可用性和数据的完整性。 Controller与Broker的关系
控制器是一个特殊的Broker虽然Controller执行管理和协调任务但它本质上还是一个Broker也处理正常的消息生产和消费请求。单一Controller在任何时候Kafka集群中只能有一个活跃的Controller。其他Broker在需要时可以通过选举成为Controller。
1.3 Broker 重要参数 2. 节点服役与退役
3. Kafka副本
// P31 TODO