我目前正在Kubernetes集群中运行Kafka和Zookeeper。我获得了一个无头服务,有状态集和一个节点平衡器,可以在Kuberentes之外公开Kafka集群。
问题在于,似乎并非每个经纪人(pod)总是未正确连接到该主题。 例如,如果我使用带有三个分区的主题调用测试用Kafkacat消费者模式进行测试,则有时某些分区没有到达主题的末尾(或者它没有连接到每个分区),因此它无法产生和使用某些消息。但这是随机发生的,有时效果很好。 (我需要花一些时间才能工作,或者需要重新启动才能正常工作,但是在某些时候,它无法恢复工作。)
我经常收到的一些错误消息:
Error when sending message to topic XXX with key: null, value: X bytes with error:
WARN Got error produce response with correlation id 6 on topic-partition test-1, retrying (2 attempts left). Error: NOT_LEADER_FOR_PARTITION (org.apache.kafka.clients.producer.internals.Sender)
我当前正在使用https://github.com/kubernetes-retired/contrib/tree/master/statefulsets/kafka作为源代码。
有人可以给我提示这种随机性来自何处,或者可以尝试调查某些因素的其他测试方法吗?希望我的问题很清楚。