apache-kafka - Kafka 和防火墙规则

标签 apache-kafka kafka-consumer-api

我们有一个相当严格的网络分段策略。我正在使用云代工厂实例来部署应用程序。防火墙规则已设置为从 Cloud Foundry 实例中访问 kafka 集群。我相信防火墙规则也已设置为可以访问 zookeeper 实例。我需要真正确认这一点。

我的问题似乎是我可以向 kafka 生成消息,但我的消费者似乎并没有收到它们。它似乎在“轮询”时挂起。

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

最佳答案

卡夫卡和动物园管理员是不同的东西。如果你在同一台机器上运行两者,你需要打开两个端口,corse。

kafka 默认端口:

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

  • zookeeper 默认端口:
  • 2181 用于客户端连接;
  • 2888 用于追随者(其他 zookeeper 节点)连接;
  • 3888 用于节点间连接;

  • 就是这样。

    卡夫卡,也有听众 广告.listeners 属性,这使第一批用户感到有些困惑。为了简单起见,listener 是您的服务器将绑定(bind)的网络接口(interface),adverted.listeners 是您的服务器将在 zookeeper 上注册并监听请求的主机名或 IP。如果您将主机名放在那里,您的客户端将必须使用主机名进行连接。 adsd.listeners 网址是您的客户用来引导连接的网址。建立连接后,您的客户端将获得与 zookeeper 的连接以获取其他代理 url。您的制片人因此而无法工作。

    因此,要使其正常工作,您还需要在防火墙上打开 2888,而不仅仅是 2181。当 @Jaya Ananthram 告诉您 kafka 需要 2181 端口时,他是错误的。这是一个动物园管理员端口。 kafka 0.10 Stills上的消费者需要联系zookeeper来坚持一些事情,就是这样。

    Kafka 0.11.0.0 改变了这一点,使客户根本不需要 zookeeper。

    关于apache-kafka - Kafka 和防火墙规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38531054/

    相关文章:

    sql-server - Kafka 连接 CDC 到 MS SQL sourceOffset 异常

    apache-kafka - Kafka 在有状态处理中验证消息

    apache-kafka - 卡夫卡休息的例子

    java - 如何删除kafka消费者组(通过新的消费者api创建)?

    java - 与 Kafka 消费者匹配的扩展模式

    java - 在 Consumer 之间均匀分布 Kafka 分区

    elasticsearch - 使用 Kafka Connect 更新现有文档上的 Elasticsearch 字段,而不是创建新的

    apache-kafka - 流查询使用多少个 Kafka 消费者来执行?

    java - 卡夫卡广播。如果组中唯一的消费者出现故障,如何知道消费者组的读取偏移量

    java - 如何在内存中的 Kafka Streams 状态存储上启用缓存