首页 > 解决方案 > 有人可以解释什么是 Kafka Listener

问题描述

我正在尝试使用 docker(下面的 docker-compose.yml 文件)运行 kafka 服务器,但出现以下错误:

ERROR: No listener or advertised hostname configuration provided in environment.
       Please define KAFKA_LISTENERS / (deprecated) KAFKA_ADVERTISED_HOST_NAME

我进行了研究,发现这KAFKA_ADVERTISED_HOST_NAME将描述服务器主机名或 IP 地址。它已被弃用。

如果未设置,KAFKA_LISTENERS则应改为配置。

有人可以向我解释这些变量是什么,它们的目的是什么?

docker-compose.yml 文件

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper:latest
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka:2.11-1.1.1
    ports:
      - "9092:9092"
    links:
      - zookeeper
    environment:
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
      KAFKA_DELETE_TOPIC_ENABLE: 'true'

标签: dockerapache-kafka

解决方案


https://www.confluent.io/blog/kafka-listeners-explained/

您好,请查看上面的链接以深入了解机制,对于您的情况,只需添加建议的 KAFKA_LISTENERS ,例如 PLAINTEXT://kafka:9092


推荐阅读