首页 > 解决方案 > Kafka docker - 错误:“无法找到分区 0 的领导者”

问题描述


下面是我的 Zookeeper 和 Kafka Dockers 的 YML 文件的一部分,我
添加了“KAFKA_CREATE_TOPICS”变量来在启动时创建主题,但是创建所有 6 个主题需要很长时间。所以每次我让码头工人上下班时,我都需要等到创建所有主题
*当kafka/zookeeper启动时,kafkaProducer创建主题的解决方案对我不利

,我希望他们记住所有主题,所以我添加了卷Zookeeper,它有效,现在启动时存在主题,但我无法使用任何主题,因为我收到以下错误:
“无法找到分区 0 的领导者”

      zoo1:
    image: xx.xx.xx.xx:5002/zookeeper
    hostname: zoo1
    ports:
      - 2181:2181
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
    networks:
      - xxnet  
    deploy:
      restart_policy:
        condition:  on-failure 
    logging:
      driver: json-file
      options:
        max-size: 50m 
    volumes:    
      - /home/docker-volumes/zoo1-conf/:/conf
      - /home/docker-volumes/zoo1-data/:/data
      - /home/docker-volumes/zoo1-datalog/:/datalog


  kafka:
    image: xx.xx.xx.xx:5002/wurstmeister/kafka
    ports:
      - 9092:9092

    environment:
        KAFKA_ZOOKEEPER_CONNECT: zoo1:2181
        KAFKA_ADVERTISED_HOST_NAME: xx.xx.xx.xx
        KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
        KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 1600000
        #KAFKA_AUTO_CREATE_TOPICS_ENABLE=true
        KAFKA_LOG_RETENTION_HOURS: 0
        KAFKA_LOG_RETENTION_MINUTES: 0
        KAFKA_LOG_RETENTION_MS: 120000
        RETENTION.MS: 900000
        ADVERTISED_HOST: kafkaserver
        ADVERTISED_PORT: 9092
        KAFKA_SEGMENT_BYTES: 1073741824
        KAFKA_RETENTION_CHECK_INTERVAL_MS: 300000
        KAFKA_CREATE_TOPICS: topic1:1:1,topic2:1:1,topic3:1:1,topic4:1:1,topic5:1:1,topic6:1:1


    networks:
      - xxnet   
    volumes: 
     - /var/run/docker.sock:/var/run/docker.sock 
     - /home/docker-volumes/kafka-logs/:/tmp/kafka-logs
     - /home/docker-volumes/kafka-logs/kafka:/kafka
    deploy:
      restart_policy:
        condition:  on-failure     
    logging:
      driver: json-file
      options:
        max-size: 50m   

谢谢,拉里

标签: dockerapache-kafkaapache-zookeeperdocker-swarm

解决方案


推荐阅读