Pra*_*r D 2 apache-kafka apache-zookeeper
现在,我们正在AWS EC2服务器中运行kafka,而zookeeper也正在单独的EC2实例上运行。
我们已经为kafka和zookeeper创建了一个服务(系统单元),以确保在服务器重新启动时它们已启动。
问题是,有时动物园管理员的服务开始并不晚,而卡夫卡经纪人到那时就被终止了。
因此,为了解决此问题,我们计划在代理端将zookeeper.connection.timeout.ms增加到一些较高的数字,例如10分钟。这是一个好方法吗?
在zookeeper中增加zookeeper.connection.timeout.ms超时有什么大小影响?
小智 6
不断增加的zookeeper.connection.timeout.ms可能会或可能不会立即解决您的问题,但是检测到代理软故障的时间可能会更长。
您可以做的几件事:1)您必须更改系统才能启动kafka,以将其延迟10分钟(您希望使Zookeper超时的时间)。2)我们使用的HDP群集会自动处理此类情况。
这是Kafka常见问题解答的解释:在代理软故障(例如,较长的GC)期间,其在ZooKeeper上的会话可能会超时,因此被视为失败。一旦检测到这种情况,Kafka会将其当前托管的所有分区领导者迁移到其他副本。代理从软故障中恢复后,它只能充当其最初引导的分区的追随者副本。
要将领导者移交给经纪人,可以在此处使用首选的领导者选举工具。同样,在0.8.2中将添加一个新功能,该功能会定期触发此功能(此处有详细信息)。
要减少Zookeeper会话到期,请调整GC或在代理配置中增加zookeeper.session.timeout.ms。
https://cwiki.apache.org/confluence/display/KAFKA/FAQ
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
3435 次 |
| 最近记录: |