我有3个运行在隔离网络区域的Kafka Broker,我的客户端无法直接连接它们,因此我必须使用虚拟IP(VIP)来连接Broker。
例如:
我的Broker IP为:10.5.1.5、10.5.1.6和10.5.1.7,
我的VIP IP为:200.100.1.5、200.100.1.6和200.100.1.7,它们是一对一匹配的。
因此,当我将引导列表指定为200.100.1.5时,集群会响应混合的VIP和Broker IP,如10.5.1.5、10.5.1.6、200.100.1.5、200.100.1.6等,然后连接失败,因为我的程序无法访问Broker IP,只能访问VIP。
我的当前配置如下,它同时响应IP和VIP:
如何让Kafka只响应VIP列表?
我找到了答案,可能是以下内容:
例如:
我的Broker IP为:10.5.1.5、10.5.1.6和10.5.1.7,
我的VIP IP为:200.100.1.5、200.100.1.6和200.100.1.7,它们是一对一匹配的。
因此,当我将引导列表指定为200.100.1.5时,集群会响应混合的VIP和Broker IP,如10.5.1.5、10.5.1.6、200.100.1.5、200.100.1.6等,然后连接失败,因为我的程序无法访问Broker IP,只能访问VIP。
我的当前配置如下,它同时响应IP和VIP:
listeners=INTERNAL://:9092,EXTERNAL_PLAINTEXT://:8080
advertised.listeners=EXTERNAL_PLAINTEXT://200.100.1.5:8080,INTERNAL://10.5.1.5:9092
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL_PLAINTEXT:PLAINTEXT
inter.broker.listener.name=INTERNAL
如何让Kafka只响应VIP列表?
我找到了答案,可能是以下内容:
advertised.listeners=PLAINTEXT://200.100.1.5:8080
listeners=PLAINTEXT://10.5.1.5:9092
And remove the listener.security and inter.broker.