Kafka-使用者无法启动:连接被拒绝-127.0.0.1:9092的connect(2)

时间:2020-05-24 18:16:03

标签: docker apache-kafka docker-compose

我正在尝试在docker网络中本地启动和运行我的一项服务,但是一直在获取“消费者无法启动:连接被拒绝-127.0.0.1:9092的connect(2)” 例外。

zookeeper:
  image: wurstmeister/zookeeper:3.4.6
  restart: always
  expose:
      - "2181"



kafka:
      depends_on:
          - zookeeper
      environment:
          KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9093,OUTSIDE://localhost:9092
          KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
          KAFKA_LISTENERS: INSIDE://0.0.0.0:9093,OUTSIDE://0.0.0.0:9092
          KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
          KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
      hostname: kafka
      image: wurstmeister/kafka:2.11-2.0.0
      restart: always
      ports:
          - "9092:9092"
      expose:
          - "9093"
      links:
          - zookeeper:zookeeper

这就是我在服务的docker-compose中为消费者设置的内容:

  consumers:
    environment:
      - BROKER_URL=host.docker.internal:9092

那是错误消息:

..`block in execute'","/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:273:in `each'"],
"message":"Consumer failed to start: Connection refused - connect(2) for 127.0.0.1:9092"},
"message":"Consumer failed to start: Connection refused - connect(2) for 127.0.0.1:9092",
"@timestamp":"2020-05-24T18:08:09.434+00:00","@version":"1",
"severity":"ERROR","host":"87c5265c6a39"}

更新:在检查Kafkacat时:

kafkacat -L -b 127.0.0.1:9092
Metadata for all topics (from broker 0: 127.0.0.1:9092/0):
 1 brokers:
  broker 0 at 127.0.0.1:9092 (controller)
 7 topics: ...

在Zookeeper CLI(在Docker中)检查时:

[zk: localhost:2181(CONNECTED) 2] ls /brokers/ids
[1001]

我已经尝试了几乎所有可以找到的东西,但仍然无法理解我缺少的东西。

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

您连接到错误的听众。当您连接到9092时,代理返回localhost供您的客户端随后连接。 连接到9093,它将使用kafka,您的Docker网络中的使用者应该可以解析。

参考:https://rmoff.net/2018/08/02/kafka-listeners-explained/