我有3个Kafka经纪人在一个孤立的网络区域运行,我的客户端无法直接连接它们,所以我必须使用VIP(虚拟IP)来连接经纪人.
例如:
我的经纪人的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 ips,例如:10.5.1.5, 10.5.1.6, 200.100.1.5, 200.100.1.6 ...
,然后连接失败,因为我的程序无法到达经纪人的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
Run Code Online (Sandbox Code Playgroud)
我怎样才能让卡夫卡只回复贵宾名单.
我有答案,可能是以下内容:
advertised.listeners=PLAINTEXT://200.100.1.5:8080
listeners=PLAINTEXT://10.5.1.5:9092
And remove the listener.security and inter.broker.
Run Code Online (Sandbox Code Playgroud)
您可以使用调用的代理设置advertised.listeners
来告诉您的代理在对客户端的响应中包括其他IP /主机名。
advertised.listeners
:
如果侦听器与
listeners
config属性不同,则发布到ZooKeeper以便客户端使用的侦听器。在IaaS环境中,这可能需要与代理绑定的接口不同。如果未设置,listeners
将使用的值。listeners
与之不同的 是,广告0.0.0.0元地址无效。
在您的示例中,对于第一个经纪人,您可以拥有:
advertised.listeners=PLAINTEXT://200.100.1.5:9092
listeners=PLAINTEXT://10.5.1.5:9092
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3079 次 |
最近记录: |