我们拥有带有3个kafka经纪人节点和3个zookeeper服务器的kafka集群
kafka版本-10.1(hortonworks)
据我了解,因为所有元数据都位于zookeeper服务器上,而kafka经纪人正在使用此数据(kafka通过端口2181与zookeeper服务器对话)
我只是想知道每个kafka机器是否与集群中的其他kafka对话,或者kafka是否仅从zookeepers服务器上获取/输入数据?
那么剂量kafka服务需要与集群中的其他kafka通信吗? , 还是kafka机器只需要从zookeepers服务器获得所有功能?
答案 0 :(得分:1)
Kafka经纪人当然需要彼此通信,最重要的是复制数据。产生给Kafka的数据在代理之间复制,以实现容错和数据持久性。分区跟随者将FetchRequest
发送给分区领导者以复制数据。
此外,每当分区领导者/跟随者发生更改时,Controller代理就会向代理发送LeaderAndIsr
请求-这是它通知代理开始引导分区或复制分区的方式。
我将推荐我的这两篇入门文章,以帮助您获得更多背景信息:
https://hackernoon.com/thorough-introduction-to-apache-kafka-6fbf2989bbc1