当我的一个经纪人在群集中发生故障时,我设置了一个3节点Zookeeper和3经纪人群集,生产者未给出任何错误,但是消费者将抛出一个错误,说...
该组的标记协调员已死...被发现的协调员 小组。
据我所知,在集群中是否有任何一个Broker,我不应该停止使用消息。
但是,到目前为止,如果我的server.2发生故障,Server.1,server.2,server.3都将停止使用所有消息。
为实现生产者和消费者的故障转移而设置的确切参数是什么?
答案 0 :(得分:0)
如果我的server.2发生故障,我的所有使用者都停止使用消息。
对于初学者,您可以在代理中禁用不清楚的领导者选举,并使用--replication-factor=3
和配置min.insync.replicas=2
创建主题。
为确保生产者至少有两次持久写入(由同步副本设置),然后设置acks=all
然后,如果任何代理失败,并且假设领导者选举没有任何错误,则生产者和使用者似乎应该重新连接到新的领导者TopicPartitions。