当前位置:   article > 正文

跨网域对接kafka集群_kafka跨域通信

kafka跨域通信

问题背景

需要从第三方kafka中订阅数据,两边内网,中间加了网闸,上下游加网闸都是通的,但下游取不到上游的数据

问题原因

从上面的流程可以看出,客户端在消费的时候实际上还是用kafka服务器返回的内网地址进行直连,此时网络是不通的,导致连接失败

解决方法

Kafka有两个配置项listeners和advertised.listeners

路径:/etc/cluster001/SERVICE-KAFKA-retro/server.properties

其中listeners代表监听的网卡的IP,如果服务器是双网卡,可以同时配置上两个网卡的ip,如下:

listeners=PLAINTEXT://0.0.0.0:9092               #代表监听所有网卡

这个现场只有单网卡,使用的是NAT映射出来的外网IP,此时kafka无法监听这个外网IP,需要配置advertised.listeners,我们使用客户端连接kafka,kafka返回的地址优先会使用advertised.listeners,如果没配置,才会使用listeners的地址

listeners=PLAINTEXT://43.81.148.153:9092                           #内网IP

advertised.listeners= PLAINTEXT://43.81.101.129:9092       #外网IP

重启kafka后使用下面命令确认监听的地址

/usr/lib/*/SERVICE-ZOOKEEPER-*/bin/zkCli.sh  get /brokers/ids/0

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/629291
推荐阅读
相关标签
  

闽ICP备14008679号