Kafka集群常见的跨网络访问详解-创新互联

场景说明:
当客户端与服务端在不同区域(跨防火墙,地址均做了映射)时,客户端访问kafka时会出现获取不到broker的问题,但是网络之间是互通的。但在跨防火墙下,client请求zookeeper的时候,zookeeper返回给client的broker IP是kafka的实际地址,而不是映射地址,因此client会访问失败。
Kafka集群常见的跨网络访问详解

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比曲麻莱网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式曲麻莱网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖曲麻莱地区。费用合理售后完善,10多年实体公司更值得信赖。

解决方式一、
1、配置文件:listeners=PLAINTEXT://主机名:9092
2、服务端hosts:内网地址 主机名
3、客户端hosts :外网地址 主机名

注意事项:不安全,且配置复杂不统一

解决方式2:(案例)
1、注释:
listeners=PLAINTEXT://192.168.111.134:9092

添加:

   inter.broker.protocol.version=1.0
   log.message.format.version=1.0
   advertised.listeners=INSIDE://192.168.111.134:9092,OUTSIDE://node7:9093
   listeners=INSIDE://192.168.111.134:9092,OUTSIDE://node7:9093
   listener.security.protocol.map=INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
   inter.broker.listener.name=INSIDE

解释:相当于开通2个端口,如果服务器多网卡可以主机名部分填写外网地址。
如果采用统一管理,可采用主机名解析,用nginx代理。
上面的变更,需要3台重启集群重启生效,zk监听地址不一样了,如图(所以要考虑到业务,建议标准化配置)
Kafka集群常见的跨网络访问详解

2、服务端hosts
内网地址 主机名 (这里采用域名解析)

 注意:官网也提供了安全加密,非文本加密方式,如果kafka和zk都要求安全,建议参考官网统一配置

Kafka集群常见的跨网络访问详解

官网相关参数解释:

host.name:
Kafka集群常见的跨网络访问详解

advertised.host.name:
advertised.listeners:
listeners:

Kafka集群常见的跨网络访问详解
Kafka集群常见的跨网络访问详解

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:Kafka集群常见的跨网络访问详解-创新互联
网站URL:http://hbruida.cn/article/pcioj.html