kafka内外网访问配置方式
作者:飘然渡沧海
这篇文章主要介绍了kafka内外网访问配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
kafka
kafka里面两种监听配置
内网监听配置
listeners=PLAINTEXT://192.168.0.213:9092
配置完内网可以正常得去消费或者添加kfka数据
如果配置了 advertised.listeners
就无法正常访问消费
advertised.listeners=PLAINTEXT://101.89.163.1:9092
WARN [Consumer clientId=consumer-console-consumer-94880-1, groupId=console-consumer-94880] Error while fetching metadata with correlation id 2 : {ooxx=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
因为我的外网通讯虽然注册得zookeeper里面了,但是外网网络无法在kafka 集群机器上来回通讯导致问题,所以这个时候需要切换成内外网分流访问
内外网分流
方法1
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT listeners=INTERNAL://192.168.0.213:9092,EXTERNAL://192.168.0.213:19092 advertised.listeners=INTERNAL://192.168.0.213:9092,EXTERNAL://101.89.163.9:19092 inter.broker.listener.name=INTERNAL
方法2
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT listeners=INTERNAL://192.168.0.213:9092,EXTERNAL://101.89.163.9:19092 advertised.listeners=INTERNAL://192.168.0.213:9092,EXTERNAL://101.89.163.9:19092 inter.broker.listener.name=INTERNAL
注意这两的区别是listeners的EXTERNAL使用的ip不一样,一个使用内网ip,一个使用外网ip。
- 如果你的kafka宿主机有外网网卡,只能用外网ip,若使用配置1,kafka通过listeners监听的两个端口都是内网网卡的数据,无法接收到外网网卡数据;
- 如果你的kafka宿主机外网ip是映射来的,只能使用内网ip,原因也是上面说过的,不存在外网网卡,kafka启动监听就会报错,而使用内网ip有环境配置好的转发,可以接收到外网ip的数据。
在这里配置得 kafka内部访问端口与外部访问端口不能是一致得。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。