当前位置: 首页 > 面试题库 >

为什么卡夫卡会警告“分区中的领导经纪人没有匹配的听众”?

申博厚
2023-03-14
问题内容

我正在尝试让Kafka第一次在docker-
compose上工作。该应用程序在没有docker的情况下运行良好。但是在docker上,出现如下所述的错误。卡夫卡为何会抛出此错误?

错误:

email-service_1 | 2018-12-01 14:32:02.448警告1 — [ntainer#0-0-C-1]
oakcNetworkClient:[Consumer clientId = consumer-2,groupId = kafka]
1个分区的领导者经纪人没有匹配的侦听器,包括[email-token-0]

我的docker-compose配置:

version: '3.3'
    services:
     zookeeper:
      image: wurstmeister/zookeeper
      ports:
       - "2181:2181"

 kafka:
  image: wurstmeister/kafka
  command: [start-kafka.sh]
  environment:
   KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
   KAFKA_ADVERTISED_HOST_NAME: 192.168.23.134
   KAFKA_CREATE_TOPICS: "email-token:1:1"
  volumes:
   - /var/run/docker.sock:/var/run/docker.sock
  ports:
   - "9092:9092"
  depends_on:
   - zookeeper

 email-service:
  build: ./email-service
  environment:
   SPRING_KAFKA_BOOTSTRAPSERVERS: kafka:9092
  ports:
   - "8081:8081"
  depends_on:
   - kafka

问题答案:

如对您的问题的评论所述,问题似乎出在Kafka经纪人的广告名称上。根据您的docker-
compose,您应该使用,192.168.23.134但您的电子邮件服务正在使用kafka:9092。您可以尝试使用此docker-
compose。我用提供的最新Zookeeper和Kafka替换了wurstmeister服务,confluentinc并添加了您的电子邮件服务。

---
version: '2'
services:
zookeeper:
    image: confluentinc/cp-zookeeper:latest
    environment:
    ZOOKEEPER_CLIENT_PORT: 2181
    ZOOKEEPER_TICK_TIME: 2000

kafka:
    image: confluentinc/cp-kafka:latest
    depends_on:
    - zookeeper
    ports:
    - 9092:9092
    environment:
    KAFKA_BROKER_ID: 1
    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
    KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
    KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
    KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

email-service:
  build: ./email-service
  environment:
   SPRING_KAFKA_BOOTSTRAPSERVERS: kafka:29092
  ports:
   - "8081:8081"
  depends_on:
   - kafka

advertised.listeners :发布到ZooKeeper以便客户端使用的监听器,如果与listeners
config属性不同。在IaaS环境中,这可能需要与代理绑定的接口不同。如果未设置,将使用侦听器的值。与侦听器不同,宣告0.0.0.0元地址无效。

请注意,它KAFKA_ADVERTISED_HOST_NAME已被弃用,建议改为使用KAFKA_ADVERTISED_LISTENERS。有关更多信息,KAFKA_ADVERTISED_LISTENERS请在此处检查。



 类似资料:
  • 设置 多个独立的源系统将AVRO事件推送到Kafka主题中。KafkaS3接收器连接器从本主题读取AVRO事件,并写入S3拼花格式。 问题 我们的架构注册表中的 AVRO 架构不符合标准。例如,源系统中的十进制字段在架构注册表中具有基类型字符串和逻辑类型十进制。AVRO 中不允许这些类型的组合(十进制逻辑类型必须始终具有基本类型修复/字节。 这些不正确的AVRO模式导致不正确的拼花文件模式。E、

  • 第一次与Kafka和多克合作。我正试图向Kafka发布一条消息,但出现了一个错误(请看下面)。问题是什么? 2020-07-21 16:37:40274警告[Kafka制作人网络线程|制作人-1]组织。阿帕奇。Kafka。客户。NetworkClient$DefaultMetadataUpdater:[Producer-clientId=Producer-1]1个分区的前导代理没有匹配的侦听器,包

  • 考虑以下代码: Visual Studio 2015不会发出任何警告(即使使用/墙)。但是,类型1和val22不属于同一类型。这是正常的还是Visual Studio错误?

  • 问题内容: 我对Kafka比较陌生。我已经做了一些实验,但是对于消费者补偿我有些不清楚。根据到目前为止的了解,使用方启动时,将从其读取的偏移量由配置设置确定(如果我输入错了,请更正我)。 现在说,例如,该主题中有10条消息(偏移量0到9),一个消费者在崩溃之前(或我杀死该消费者之前)碰巧消耗了其中的5条消息。然后说我重新启动该使用者进程。我的问题是: 如果将设置为,它是否总是从偏移量0开始消耗?

  • 我不明白为什么我收到以下代码的警告: 未选中对<code>isAssignableFrom(类)的调用 当我使用< code>isInstance方法时(根据我的理解,它提供相同的结果),我没有得到警告:

  • 我有两个< code>kafka 0.10.1的代理集群,之前在我的开发服务器上正确运行< code>zookeeper 3.3.6。 我最近尝试将broker版本升级到最新的,但没有开始。配置没有太大变化 谁能告诉我可能会出什么问题吗。为什么经纪人没有起步? 已更改服务器。代理服务器1上的属性 已更改代理服务器2上的server.properties 注意: 1.Zookeeper正在两台服务器