zookeeper.connection.timeout.ms 的最大值
Maximum value for zookeeper.connection.timeout.ms
现在我们在 AWS EC2 服务器中使用 运行 kafka,zookeeper 在单独的 EC2 实例中也使用 运行。
我们为 kafka 和 zookeeper 创建了一个服务(系统单元),以确保它们在服务器重启时启动。
问题是有时 zookeeper 服务器启动晚了一点,而 kafka 代理到那时被终止了。
因此,为了解决这个问题,我们计划在代理端将 zookeeper.connection.timeout.ms 增加到某个较高的数字,例如 10 分钟。这是一个好方法吗?
在 zookeeper 中增加 zookeeper.connection.timeout.ms 超时是否有任何大小影响?
增加 zookeeper.connection.timeout.ms 可能会或可能不会解决您手头的问题,但有可能需要更长的时间来检测代理软故障。
您可以做几件事:
1)您必须更改系统以启动 kafka 以延迟 10 分钟(您想要放入 zookeper 超时的时间)。
2) 我们正在使用自动处理此类情况的 HDP 集群。
以下是 Kafka 常见问题解答中的解释:
在 broker 软故障期间,例如长时间 GC,它在 ZooKeeper 上的会话可能会超时,因此被视为失败。一旦检测到这种情况,Kafka 会将其当前托管的所有分区领导迁移到其他副本。并且一旦broker从软故障中恢复,它就只能作为它原来领导的分区的follower replica。
要将领导权移回经纪人,可以使用此处的首选领导者选举工具。此外,在 0.8.2 中将添加一个新功能,该功能会定期触发此功能(此处有详细信息)。
要减少 Zookeeper 会话过期时间,请调整 GC 或在代理配置中增加 zookeeper.session.timeout.ms。
https://cwiki.apache.org/confluence/display/KAFKA/FAQ
希望对您有所帮助
现在我们在 AWS EC2 服务器中使用 运行 kafka,zookeeper 在单独的 EC2 实例中也使用 运行。
我们为 kafka 和 zookeeper 创建了一个服务(系统单元),以确保它们在服务器重启时启动。
问题是有时 zookeeper 服务器启动晚了一点,而 kafka 代理到那时被终止了。
因此,为了解决这个问题,我们计划在代理端将 zookeeper.connection.timeout.ms 增加到某个较高的数字,例如 10 分钟。这是一个好方法吗?
在 zookeeper 中增加 zookeeper.connection.timeout.ms 超时是否有任何大小影响?
增加 zookeeper.connection.timeout.ms 可能会或可能不会解决您手头的问题,但有可能需要更长的时间来检测代理软故障。
您可以做几件事: 1)您必须更改系统以启动 kafka 以延迟 10 分钟(您想要放入 zookeper 超时的时间)。 2) 我们正在使用自动处理此类情况的 HDP 集群。
以下是 Kafka 常见问题解答中的解释: 在 broker 软故障期间,例如长时间 GC,它在 ZooKeeper 上的会话可能会超时,因此被视为失败。一旦检测到这种情况,Kafka 会将其当前托管的所有分区领导迁移到其他副本。并且一旦broker从软故障中恢复,它就只能作为它原来领导的分区的follower replica。
要将领导权移回经纪人,可以使用此处的首选领导者选举工具。此外,在 0.8.2 中将添加一个新功能,该功能会定期触发此功能(此处有详细信息)。
要减少 Zookeeper 会话过期时间,请调整 GC 或在代理配置中增加 zookeeper.session.timeout.ms。
https://cwiki.apache.org/confluence/display/KAFKA/FAQ
希望对您有所帮助