Kafka 消费者未在 docker 上接收消息

Kafka Consumer is not receiving Messages on docker

我是 kafka 和 docker 的初学者,我一直在学习课程并与 kafka 生产者和消费者合作,但由于某种原因它不起作用。 当我使用生产者时,消息保存在主题中(我已经检查过)但是当我尝试使用消费者获取消息时,它不起作用,我不知道为什么。

以前有用,但现在不行了。

我在这种情况下的独特之处在于我使用的是 confluentinc 图像而不是 bitnami 图像。

所以,如果有人有任何想法或解决方案,我将不胜感激。

我分享我的撰写和屏幕截图,以便您查看。

version: "3.2"
services:
###############################################################
  zookeeper:
    image: 'confluentinc/cp-zookeeper:latest'
    container_name: zookeeper
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    ports:
      - 2181:2181

###############################################################
  broker:
    image: 'confluentinc/cp-kafka:latest'
    container_name: broker
    depends_on:
      - zookeeper
    ports:
      - 9092:9092
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      # Exposes 9092 for external connections to the broker
      # Use kafka:29092 for connections internal on the docker network
      # See https://rmoff.net/2018/08/02/kafka-listeners-explained/ for details
      KAFKA_LISTENERS: "PLAINTEXT://:29092,PLAINTEXT_HOST://:9092"
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_DELETE_TOPIC_ENABLE: "true"

Producer and Consumer

在我的本地机器上都是运行。

看看docker-compose logs broker...

你应该看到很多Error processing create topic request CreatableTopic(name='__consumer_offsets', numPartitions=50, replicationFactor=3

没有有效的 __consumer_offsets 主题,任何消费者都无法 运行 和提交偏移量。同样,事务也不会工作(在最新的 Kafka 中默认启用)

添加这些变量和re-create容器

KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1