我在单个服务器上使Kafka(使用Docker映像)工作,在同一台服务器X上安装了Zookeeper + Kafka Broker。
如果我需要在服务器Y上添加其他代理(以实现弹性),是否需要在服务器Y上部署Kafka Broker并指向服务器X上的同一Zookeeper?
还是我还需要在服务器Y上部署Zookeeper?如果是这样,我如何让两个动物园管理员互相发现?
答案 0 :(得分:1)
我如何让两个Zookeeper彼此发现?
您将设置ZOOKEEPER_SERVERS
变量以指向每个ZK
我需要在服务器Y上部署Kafka Broker并指向服务器X上的同一Zookeeper吗?
对于弹性,是的。您将使用KAFKA_ZOOKEEPER_CONNECT
将代理指向ZK群集。
注意:KAFKA_ADVERTISED_LISTENERS
将需要配置为返回两个服务器的外部网络地址,而不是仅返回localhost
或Docker映像服务名称,以使客户端正常工作。同样,经纪人之间的侦听器将需要进行配置,以便主题复制能够正常工作。
注意(2):您将需要永久性卷挂载以保留容器中的ZK和Kafka数据。