childe / gohangout

使用 golang 模仿的 Logstash。用于消费 Kafka 数据,处理后写入 ES、Clickhouse 等。
MIT License
1.01k stars 234 forks source link

kafka挂掉leader节点的时候,其他节点均不能消费 #173

Closed kingwide closed 1 year ago

kingwide commented 2 years ago

消费kafka,无论用不用sasl,kafka挂掉leader节点的时候,其他节点均不能消费

c0effdafe63626f83222d5318d19911

报错信息报的是其他的两个节点,并不是leader节点的报错 版本1.8.1

childe commented 2 years ago

没有 Leader,好像本来就不能消费。

childe commented 2 years ago

备注一下,老的 healer 版本, 不会处理 no-leader 这种错误,新的会做 rejoin,直到 leader 恢复才能消息。

kingwide commented 2 years ago

我们这边数据量比较大,而且生产环境如果在无人值守的情况leader挂掉,如果不能把这个节点重启,所有的数据都会丢失。这种处理方式感觉不是很合理,不如旧版本的处理方式。作为生产环境,不应该出现只挂掉一个kafka节点整个集群就不消费的情况。

childe commented 1 year ago

我们这边数据量比较大,而且生产环境如果在无人值守的情况leader挂掉,如果不能把这个节点重启,所有的数据都会丢失。这种处理方式感觉不是很合理,不如旧版本的处理方式。作为生产环境,不应该出现只挂掉一个kafka节点整个集群就不消费的情况。

按我的理解, 应该是不应该 Kafka 挂一个节点,就导致 Partition 没有 Leader。