前言:

安装好Kafka(服务端ip为192.1683.45),window使用Java调用kafka-clients库来远程连接Kafka服务端,进行生产者和消费者测试,发现消息发不出去。但是如果把生产者和消费者的测试代码放到服务器上允许,就可以测试成功。

原因分析:

1、排查是不是服务器的防火墙原因,导致服务器的9092端口不能被window连接上,在window上执行telnet 192.168.3.45 9092,发现端口是可以被连通的,排除了这个原因。

2、因为之前安装了Redis,只有更改了配置文件,才能被远程访问,我猜想是不是kafka也需要更改配置文件,发现真的是这个原因。

打开config/server.properties配置文件,更改如下

  • 把31行的注释去掉,listeners=PLAINTEXT://:9092
  • 把36行的注释去掉,把advertised.listeners值改为PLAINTEXT://host_ip:9092(我的服务器ip是192.1683.45)

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐