我们有3个kafka代理节点和3个zookeepers服务器的kafka集群
kafka版本- 10.1 ( hortonworks )
据我所知,因为所有元数据都位于zookeeper服务器上,而kafka代理正在使用这些数据( kafka通过端口2181与zookeeper服务器交谈)
我想知道是否每台kafka机器都与集群中的其他kafka通信,或者kafka只在zookeepers服务器上获取/放置数据?
那么kafka服务需要与集群中的其他kafka进行通信吗?或者可能kafka机器只需要从zookeepers服务器获取所有内容?
发布于 2019-02-08 00:19:42
Kafka brokers当然需要相互通信,最重要的是复制数据。生成到Kafka的数据在代理之间复制,以实现容错和数据持久性。分区跟随者将FetchRequest
发送给分区领导者,以便复制数据。
此外,每当分区引导者/跟随者发生更改时,控制器代理都会向代理发送LeaderAndIsr
请求-这就是它通知代理开始引导或复制分区的方式。
我推荐我的这两篇介绍性文章,以帮助你获得更多背景信息:
https://hackernoon.com/thorough-introduction-to-apache-kafka-6fbf2989bbc1
https://stackoverflow.com/questions/54575922
复制相似问题