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
我是 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