本文介绍了卡夫卡和防火墙规则的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有相当严格的网络分段策略。我正在使用云代工实例将应用程序部署到。已经设置了防火墙规则,以便从云代工实例内部到达Kafka集群。我相信防火墙规则也是为了访问ZooKeeper实例而设置的。我需要实际确认这一点。

我的问题似乎是我可以向卡夫卡发送消息,但我的消费者似乎没有收到它们。它似乎在"轮询"时挂起。

我的防火墙规则是否需要处理一些隐藏的主机或端口,而不只是Kafka和ZooKeeper节点的标准主机和端口?

推荐答案

卡夫卡和动物园管理员是两码事。如果在同一台计算机上同时运行这两个端口,则需要打开Corse的两个端口。

Kafka默认端口:

  • 9092,可在server.properties上更改;

ZooKeeper默认端口:

  • 2181用于客户端连接;
  • 2888用于关注者(其他ZooKeeper节点)连接;
  • 3888用于节点间连接;

就是这样。

kafka还具有侦听器advertised.listeners属性,这会给最初的用户带来一些混淆。为了简单起见,Listener是您的服务器将绑定的网络接口,advertise.listeners是服务器将在ZooKeeper上注册自身并侦听请求的主机名或IP。如果您在其中放入一个主机名,则您的客户端将必须使用该主机名进行连接。advertised.listenersURL是您的客户端将用于引导连接的URL。一旦建立了连接,您的客户端将连接到ZooKeeper以获取其他代理的URL。您的制片人因此而无法工作。

因此,要使其正常工作,您还需要在防火墙上打开2888,而不仅仅是2181。当@Jaya Ananthram告诉你Kafka需要2181端口时,他错了。这是个动物园管理员港。卡夫卡0.10剧照上的消费者需要联系动物园管理员来保存一些东西,就这样。

卡夫卡0.11.0.0改变了这一点,使客户根本不需要动物园管理员。

这篇关于卡夫卡和防火墙规则的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-26 22:18