在 window 下生产消息给 linux 服务器下的 kafka 失败

新手上路,请多包涵

图片.png
程序似乎执行了很长一段时间才停止,且 linux 下 kafka 没有收到对应消息:

图片.png

pom.xml 的配置和 linux 下的 kafka 是同一版本:
图片.png

linux 下的防火墙已关闭,别的主机用 wget 测试似乎也能收到请求:
(测试主机)
图片.png
(被测试主机)
图片.png

网上的方法测了好几个,就是没法解决问题,请问我这是哪儿出了问题?

阅读 2.7k
2 个回答

介绍 kafka 的 2 个参数配置。

  • listener:

kafka broker 监听器;

  • advertised.listeners:

用于注册到 zookeeper 上面的 kafka 监听器。如果该值未填写,那么会使用 listener 的值。

客户端如何跟 kafka 通信?

  • 第一步,通过 listener 配置的地址,连上 kafka,完成认证。会返回一个地址。
  • 第二步,通过返回的brokers重新建立和kafka的连接。这个返回的brokers就是advertised.listeners的值。

环境假设

假设一:部署在 linux 中的 kafka 不在 docker 内。是直接部署在 linux 上面。
从已知信息来看,windowslinux 已经能够连接上了。linux 中能够正常消费,这证明,kafkazookeeper 没毛病。
然后我想确认一下。listener 配置的是哪个? 也就是,listener 你需要填写 linux 主机的 ip

假设二:kafka 部署在 linux 上的 docker 内。
这部分的内容,请参考本人写的如何在 docker 中搭建 kafka
kafka 系列 -- 2、搭建与实践

我猜应该是连上服务器了,但是因为某种原因导致 kafka 没法接收到消息。会不会是 zookeeper 配置的问题?

window 下要不要配置 zookeeper?

我猜可能是因为 window 不在集群内吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题