我正在Docker中的M1 Macbook上本地运行Kafka和Zookeeper(bitnami)。如果我删除Kafka和Zookeeper的数据卷并重新启动,它会完美地重新启动,并以低CPU利用率运行。
我有大约6个不同的消费者组和2个生产者都在Mac上本地运行,它们是不同的Node JS脚本。一切都很好,直到我停止消费者,然后关闭并重新启动Docker容器(Ctrl-C停止,然后是Docker Compose Up)。
当我这样做的时候,一切看起来都很好地重新启动,但是生产者和消费者得到连接拒绝的错误(虽然有时连接,但不保持连接)。在Kafka或Zookeeper日志中没有错误或警告,但是当我查看Kafka的容器时,Docker报告它正在以100%的CPU利用率运行。我可以让它停留一段时间,它将以该利用率水平运行一天。
我总是可以通过停止容器并删除与Kafka和Zookeeper相关的卷来解决这个问题。但是,为什么它会这样做呢?为什么每次我停止并重新启动Kafka时,它都会卡在100%的CPU上?
以下是我的docker-compose.yml文件的相关部分:
version: '3.8'
services:
zookeeper:
container_name: zookeeper
image: 'bitnami/zookeeper'
pull_policy: always
environment:
ALLOW_ANONYMOUS_LOGIN: yes
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- '2181:2181'
volumes:
- /Users/localuser/Documents/MintMonsterData/zookeeper:/bitnami/zookeeper
kafka:
container_name: kafka
pull_policy: always
image: 'bitnami/kafka'
restart: always
ports:
- '29092:29092'
environment:
KAFKA_CFG_ADVERTISED_HOST_NAME: kafka
KAFKA_BROKER_ID: 1
KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
KAFKA_CFG_LISTENERS: CLIENT://:9092,EXTERNAL://:29092
KAFKA_CFG_ADVERTISED_LISTENERS: CLIENT://kafka:9092,EXTERNAL://localhost:29092
KAFKA_CFG_INTER_BROKER_LISTENER_NAME: CLIENT
KAFKA_CFG_LOG_RETENTION_HOURS: 24
ALLOW_PLAINTEXT_LISTENER: yes
KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
volumes:
- /Users/localuser/Documents/MintMonsterData/kafka:/bitnami/kafka
depends_on:
- zookeeper
1条答案
按热度按时间m1m5dgzv1#
我认为这可能是由于Bitnami的docker镜像不支持arm64架构。