Kafka Docker重启后CPU 100%

kxe2p93d  于 2022-11-21  发布在  Apache
关注(0)|答案(1)|浏览(203)

我正在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
m1m5dgzv

m1m5dgzv1#

我认为这可能是由于Bitnami的docker镜像不支持arm64架构。

相关问题