为什么Kafka只能让Leader副本提供读写操作呢?因为这样可以实现所写即所得,都是从Leader副本读写,所以写入数据后,消费者就可以马上读取;另外就是单调读,尤其是在副本数量多的时候,不会出现某些副本有这个数据,某些副本没有。所以这就是只让Leader副本提供读写操作的好处。假如当前的Leader副本所在主机宕机,那么Kafka集群就要从剩余的Follower副本中重新挑选一个副本作为新的Leader副本,那么显然不是所有的Follower副本都具有竞选资格,如果某些Follower副本数据落后太多那么它们则不能成为Leader副本。所以这就有了ISR的概念。
以上三个位移无论是在Leader副本还是Follower副本都具有。而分区的HW值就是Leader副本的HW值。并且Leader副本所在的broker上还保存了Follower副本的HW和LEO水位值。
这只是标记主题为删除,因为它是一个异步操作,如果发现某些时候删除了主题但是其ZK中的节点包括磁盘数据还都在,你可以手动清理一下:修改主题的分区数量
- 删除ZK中/admin/delete_topics下的需要删除的主题名称
- 手动删除磁盘上的该主题分区目录
- 在ZK中执行 rmr /controller 来触发Controller的重新选举,这一步要慎重因为它会造成大规模Leader重新选举,不过只执行前两步也行,只是Controller中的缓存没有更新而已。
只支持增加分区数量,不支持减少。说明:这里你可能发现命令中使用的都是 --bootstrap-server而不是之前的--zookeeper参数,因为使用--bootstrap-server是目前操作kafka的标准方式,而且也会经过kafka的安全体系。
只支持增加分区数量,不支持减少。说明:这里你可能发现命令中使用的都是 --bootstrap-server而不是之前的--zookeeper参数,因为使用--bootstrap-server是目前操作kafka的标准方式,而且也会经过kafka的安全体系。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |