填坑记之Kafka_远程连接Kafka集群时需要注意的

kafka在实际生产环境中集群服务和生产者以及消费者不会总是在同一个网络中,如果不在一个网络中则会出现一些问题,下面就是我遇到的一个问题,分享给大家。

场景介绍

Kafka集群4个节点都在办公网,业务系统(生产者)在生产网。根据规定,生产网和办公网是隔离的,生产网不允许直接和办公网连接。现在我们需要业务系统将数据放到办公网中的Kafka集群中,于是就有了下面的解决方案。

解决方案

总体思路是通过公网进行转发,并且考虑到安全,在网络设备上进行了端口映射以及访问白名单。具体说就是申请一个公网ip,在网络设备上将这个公网ip和四个端口绑定,并将这四个端口映射到kafka集群的四个节点服务器上。

坑之所在

上述解决方案本身没有问题,理想情况下,业务系统的作为生产者用如下测试脚本就可以将消息发送到Kafka中,假设公网ip是:124.121.235.123,测试脚本如下:

./kafka-console-producer.sh --broker-list  124.121.235.123:9191,124.121.235.123:9192,124.121.235.123:9193,124.121.235.123:9194  --topic test

但是实际情况是:

填坑之道

在kafka集群中,在server.properties中修改如下kafka配置项:

advertised.listeners=PLAINTEXT://124.121.235.123:9194

默认该项配置是注释掉的,如果不修改的话,kafka默认使用listeners配置项或者localhost+port来生产或者消费消息,但是现在的场景显然使用是不可行的,因为listeners配置的是办公网内网的ip,与生产网并不通,所以需要将该配置项的ip修改为远程服务器需要访问kafka集群的ip,对应到上述场景的话就是我们的公网ip。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值