Kafka Cluster:故障转移不与kafka 0.10和zookeeper合作

时间:2018-06-17 17:32:59

标签: java apache-kafka apache-zookeeper kafka-consumer-api

我有3个虚拟机的设置,每个VM运行一组Zookeeper和Kafka。 因此,这将创建一个3节点Zookeeper集群和3个节点Kafka集群。 所有配置都可以顺利完成,如在线所有可用文档中所述。消息开始流动。 但是一旦主要经纪人停止,消费者就开始抛出WARN消息并停止消费消息。我错过了什么吗?

生产者开始时:

/opt/UMB/kafka/bin/kafka-console-producer.sh --broker-list nfvA:9092,nfvB:9092,nfvC:9092 --topic kpi

消费者运行:

/opt/UMB/kafka/bin/kafka-console-consumer.sh --bootstrap-server nfvA:9092,nfvB:9092,nfvC:9092 --topic kpi

服务器上的zoo.cfg(默认配置没有变化):

server.0=nfvA:2888:3888
server.1=nfvB:2888:3888
server.2=nfvC:2888:3888

Kafka server.props(其他默认配置):

default.replication.factor=3
zookeeper.connect==nfvA:2181,nfvB:2181,nfvC:2181

帖子设置已删除kafka-log目录并重新启动所有节点。

我的设置中有几个捕获。所有主题都是在单个代理上创建的,然后用户可以选择为HA产品设置添加新机器(具有类似主题)。这带来了2个节点,所以我添加了一个额外的节点来满足Quorum-Ensemble的需求。

创建三个节点的集群,为Kafka / Zookeeper提供2个设置+ 1个额外的VM。

然后运行命令将复制因子设置为3.

上述操作未显示Isr值的任何更新。

然后我清理所有kafka-log目录,然后再次启动Kafka。这给了我Isr和Replica - 描述为0,1,2

消息开始流动。但随后在主要经纪人手动停止Kafka,完全停止消息流。

以下是警告信息:

[2018-06-17 22:30:01,930] WARN Auto-commit of offsets {kpi-0=OffsetAndMetadata{offset=26, metadata=''}} failed for group console-consumer-21498: Offset commit failed with a retriable exception. You should retry committing offsets. (org.apache.kafka.clients.consumer.internals.ConsumerCoordinator)

上述错误大约出现15次并停止,但没有消息通过。再次启动相同的kead Kafka经纪人,使消息传递工作。所以没有故障转移。

请任何专家帮助,尝试了很多选项,但没有简单的3节点群集。

0 个答案:

没有答案