我有以下设置:
3 个 kafka 代理和 3 个 zookeeper 将
1 个主题与 12 个分区和 3 个副本(每个 kafka 代理因此是 4 个分区的领导者)
我停止了其中一个代理 - 它从集群中删除,其分区的领导权移至剩余的两个代理
我重新启动代理 - 它重新出现在集群中,最终领导权得到重新平衡,因此每个代理都是 4 个分区的领导者。
它工作正常,除了我发现重新平衡前花费的时间太长(如几分钟)。这发生在无负载的情况下 - 没有消息发送到集群,没有消息被消耗。
卡夫卡版本 0.9.0.0,动物园管理员 3.4.6
动物园管理员tickTime = 2000
卡夫卡动物园管理员.connection.timeout.ms = 6000
(基本上是默认配置)
有谁知道 kafka 和/或 zookeeper 中的哪些配置参数会影响领导者 rabalancing 的时间?
默认情况下,kafka使用一个目录来保存日志。为了提高性能,建议将更多磁盘安装到代理,并将每个磁盘分配给一个目录,然后输入server.properties以log.dirs=逗号分隔的目录列表。文档称,分区将以循环方式分布在目录中。据我现在了解,对于新主题来说也是如此。
我想将已创建主题的一半分区分配给新创建的分区,log.dir同时将另一半保留在原处 - 有支持的方法吗?