【问题标题】:OpenShift - Unable to connect Strimzi from KafkaJSOpenShift - 无法从 KafkaJS 连接 Strimzi
【发布时间】:2020-02-01 23:05:27
【问题描述】:

我在 OpenShift 上成功设置了 Strimzi Kafka 集群。我可以看到以下服务:

  • kafka-brokers
  • kafka-bootstrap
  • zookeeper-client
  • zookeeper-nodes

这其实和所谓的here不一样;所以,不确定这是否是 Strimzi 安装问题。我按照here 的安装步骤操作。

我在端口 9092(非 TLS 客户端)上为 kafka-bootstrapkafka-brokers 创建了一个路由。在这两种情况下,当我提供路由值时都会收到 ECONNREFUSED 错误(例如,kafkajs 示例中的 my-cluster-myproject.192.168.99.100.nip.io:9092

如何让kafkajs 包连接到 Strimzi 集群?

【问题讨论】:

    标签: node.js apache-kafka openshift strimzi kafkajs


    【解决方案1】:

    您看到的 Strimzi 服务是正确的,但为了访问 Kafka 代理,最好使用引导服务,该服务允许在客户端的引导服务器列表中仅指定一个“代理”,它将选择一个代理第一次连接,然后获取元数据(它避免使用无头服务连接,其中 pod IP 可以在重启时更改)。 也就是说,如果您需要从 OpenShift 外部访问代理,则不必手动为引导服务创建路由,但必须配置类型为 route 的外部侦听器 (https://strimzi.io/docs/latest/#assembly-configuring-kafka-broker-listeners-deployment-configuration-kafka)。 如上所述,OpenShift 路由仅适用于 TCP 连接的 TLS。 为了向您的客户提供用于 TLS 的正确证书,您可以遵循文档的这一部分:https://strimzi.io/docs/latest/#kafka_client_connections

    【讨论】:

    【解决方案2】:

    您查看external listeners 了吗?

    顺便说一句,如果您需要通过路由器公开 strimzi,则需要 TLS 加密。 OpenShift 路由器不支持 TCP,但支持 TLS。

    【讨论】:

      猜你喜欢
      • 2019-10-04
      • 1970-01-01
      • 2015-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-09
      • 2020-04-25
      相关资源
      最近更新 更多