我已经在单台服务器上使Kafka(使用Docker镜像)工作,在同一台/一台Server X上安装了Zookeeper + Kafka Broker。
如果我需要在服务器Y上添加其他代理(以实现 flex ),是否需要在服务器Y上部署Kafka Broker并指向服务器X上的同一Zookeeper?
还是我也需要在服务器Y上部署Zookeeper?如果是这样,我如何让两个动物园管理员互相发现?
最佳答案
how i get both Zookeepers discover each other ?
您将
ZOOKEEPER_SERVERS
变量设置为指向每个ZKdo i need to deploy Kafka Broker on server Y and point to the same Zookeeper on Server X?
对于 flex ,是的。您将使用
KAFKA_ZOOKEEPER_CONNECT
将代理指向ZK集群。注意:
KAFKA_ADVERTISED_LISTENERS
将需要配置为返回两个服务器的外部网络地址,而不是仅localhost
或Docker镜像服务名称,以使客户端正常工作。同样,经纪人之间的侦听器将需要进行配置,以便主题复制能够正常工作。注意(2):您将需要持久卷安装以保留容器中的ZK和Kafka数据。
关于docker - 如何部署其他Kafka Broker(Docker镜像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56131879/