为了连接到kafka群集,我提供了一组具有名称和端口的引导服务器:
s1:90912
s2:9092
s3:9092
kafka和zookeeper正在示例s4上运行。从阅读https://jaceklaskowski.gitbooks.io/apache-kafka/content/kafka-properties-bootstrap-servers.html,它指出:
引导服务器是一个以逗号分隔的主机和端口对列表,这些主机和端口对是kafka客户机最初连接到引导本身的“引导”kafka集群中kafka代理的地址。
我引用了上面的引导服务器定义,因为我试图理解kafka代理s1、s2、s3和kafka之间的关系,zookeeper在s4上运行。
为了连接到kafka集群,我将代理设置为csv列表“s1,s1,s3”。当我向代理的csv列表发送消息时,为了验证消息是否添加到主题中,我将ssh连接到s4框并查看主题中的消息。
Kafka经纪人s1、s2、s3和s4之间有什么联系?我不能ssh到任何代理s1、s2、s3上,因为这些代理似乎不能使用ssh访问,s1、s2、s3应该可以访问吗?
负责设置Kafka盒子的人已经不在了,我很困惑这个配置是如何工作的。我已经搜索了s4上代理s1、s2、s3的配置引用,但似乎没有任何配置。
设置和配置kafka时,什么允许在代理(在本例中为s1、s2、s3)和s4之间进行链接?
我在同一台服务器上启动kafka和zookeeper,s4。
Kafka和zookeeper是否也应该在s1、s2、s3上运行?
1条答案
按热度按时间wgxvkvu91#
Kafka经纪人s1、s2、s3和s4之间有什么联系?
根据kafka关于向集群添加节点的文档,每个服务器必须共享相同的节点
zookeeper.connect
字符串并具有唯一的broker.id
成为集群的一部分。您可以通过
zookeeper-shell
带着一个ls /brokers/ids
,或通过kafka adminclient api,或kafkacat -L
s1、s2、s3是否可以访问?通过ssh?他们不一定是。
不过,它们应该在kafka服务器端口上响应来自kafka客户机的tcp连接
Kafka和zookeeper是否也应该在s1、s2、s3上运行?
集群中不应该有4台zookeeper服务器(仅限奇数)
否则,至少在这些机器上已经为kafka提供了一些端口,因此kafka应该