【问题标题】:ConnectException: Connection refused Kafka producerConnectException:连接被拒绝 Kafka 生产者
【发布时间】:2019-06-15 01:29:26
【问题描述】:

我已经使用 Helm 和 Minikube 部署了 Kafka。我需要在 Scala 中为该代理 IP 地址和主机构建一个生产者。我已经定义了 NodePort 服务来将 Kafka 暴露给外界。我将代理设置为 minkube-ip:service-node-port,但是,我得到连接异常。 我定义的配置有什么问题? 使用 docker-compose 文件,应用程序运行良好。

错误堆栈跟踪:

Exception in thread "main" org.apache.kafka.common.errors.SerializationException: Error serializing Avro message
Caused by: java.net.ConnectException: Connection refused (Connection refused)

Kafka 配置如下所示:

  val brokers = "192.168.99.100:32400"
  val props = new Properties()
  props.put("bootstrap.servers", brokers)
  props.put("client.id", "AvroKafkaProducer")
  props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
  props.put("value.serializer", "io.confluent.kafka.serializers.KafkaAvroSerializer")
  props.put("schema.registry.url", "http://0.0.0.0:8081")

Kafka NodePort 服务定义,其中标签与 Helm 生成的 Kafka pod 标记匹配:

kind: Service
apiVersion: v1
metadata:
  name: kafka-service
spec:
  selector:
    app: cp-kafka
    release: my-confluent-oss
  ports:
    - protocol: TCP
      targetPort: 9092
      port: 32400
      nodePort: 32400
  type: NodePort

这是所有已创建服务的列表:

NAME                                     TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
my-confluent-oss-cp-kafka                ClusterIP      10.96.241.37     <none>        9092/TCP            6h25m
my-confluent-oss-cp-kafka-connect        ClusterIP      10.105.148.181   <none>        8083/TCP            6h25m
my-confluent-oss-cp-kafka-headless       ClusterIP      None             <none>        9092/TCP            6h25m
my-confluent-oss-cp-kafka-rest           ClusterIP      10.99.154.76     <none>        8082/TCP            6h25m
my-confluent-oss-cp-ksql-server          ClusterIP      10.108.41.220    <none>        8088/TCP            6h25m
my-confluent-oss-cp-schema-registry      ClusterIP      10.108.182.212   <none>        8081/TCP            6h25m
my-confluent-oss-cp-zookeeper            ClusterIP      10.97.148.103    <none>        2181/TCP            6h25m
my-confluent-oss-cp-zookeeper-headless   ClusterIP      None             <none>        2888/TCP,3888/TCP   6h25m

【问题讨论】:

    标签: kubernetes apache-kafka kubernetes-helm


    【解决方案1】:

    错误来自试图连接架构注册表的反序列化器

    props.put("schema.registry.url", "http://0.0.0.0:8081")

    应该阅读

    props.put("schema.registry.url", "http://&lt;hostname of Schema Registry resolvable from Connect node&gt;:8081")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-13
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多