我们最近遇到了一个问题,卡夫卡经纪人遇到了阻止IO的内核问题(但是我能够心跳回到zookeeper)。这样做的结果是卡夫卡经纪人留在ISR集,但实际上无法完成任何任务。Kafka deep healthcheck
的问题是: 1)是否有什么卡夫卡检查它发出心跳之前,还是仅仅是弱智化发射心跳(我看https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol,但它似乎只是提及协议,而不谈论任何文件实际上在心跳前检查)。 2)在我的情况下,即使所有请求都失败,Kafka仍然心生不安。有没有办法在卡夫卡内部使用更深入的心跳检查请求成功率等?或者我们需要使用外部工具,如https://github.com/pinterest/doctorkafka,https://www.slideshare.net/JiangjieQin/introduction-to-kafka-cruise-control-68180931或https://github.com/yahoo/kafka-manager
所以我想答案是否定的,卡夫卡没有深入的健康检查,我们应该建立一个外部监测系统来检测错误并关闭正常心跳无法检测到的失败经纪人?对于第二个问题,我试图找到一些文件,告诉我卡夫卡何时检查心跳的确切时间。 – hankduan