Apache kafka zookeeper.connection.timeout.ms的最大值

Apache kafka zookeeper.connection.timeout.ms的最大值,apache-kafka,apache-zookeeper,Apache Kafka,Apache Zookeeper,现在我们在AWS EC2服务器上运行kafka,zookeeper也在单独的EC2实例上运行 我们为kafka和zookeeper创建了一个服务(系统单元),以确保在服务器重新启动时启动它们 问题是,有时动物园管理员服务器启动得晚了一点,卡夫卡经纪人也在那时被终止了 因此,为了解决这个问题,我们计划在代理端将zookeeper.connection.timeout.ms增加到一些较高的数字,比如10分钟。这是一个好方法吗 在zookeeper中增加zookeeper.connection.tim

现在我们在AWS EC2服务器上运行kafka,zookeeper也在单独的EC2实例上运行

我们为kafka和zookeeper创建了一个服务(系统单元),以确保在服务器重新启动时启动它们

问题是,有时动物园管理员服务器启动得晚了一点,卡夫卡经纪人也在那时被终止了

因此,为了解决这个问题,我们计划在代理端将zookeeper.connection.timeout.ms增加到一些较高的数字,比如10分钟。这是一个好方法吗


在zookeeper中增加zookeeper.connection.timeout.ms超时是否会产生任何大小效应?

增加zookeeper.connection.timeout.ms可能会也可能不会处理您手头的问题,但可能需要更长的时间来检测代理软故障

您可以做以下几件事: 1) 您必须更改系统以启动卡夫卡,将其延迟10分钟(您希望输入zookeper超时的时间)。 2) 我们正在使用HDP集群,它会自动处理这些场景

以下是卡夫卡常见问题解答的解释: 在代理软故障期间(例如,长GC),ZooKeeper上的会话可能会超时,因此会被视为失败。一旦检测到这种情况,Kafka将把它当前托管的所有分区领导迁移到其他副本。一旦代理从软故障恢复,它就只能充当它最初引导的分区的跟随者副本

要将领导权移回到经纪人手中,可以在此处使用首选的领导人选举工具。此外,在0.8.2中,将添加一个新特性,定期触发此功能(此处详细说明)

要减少Zookeeper会话过期,请调整GC或在代理配置中增加Zookeeper.session.timeout.ms


希望这能有所帮助

谢谢amar的帮助reply@PrabhakarD如果有帮助的话,请你接受答案并投赞成票。这非常有帮助,我们遇到了这个确切的情况,并且想知道为什么领导人被搬走了。