简体   繁体   English

如何从 cp-enterprise-kafka:6.2.1 迁移到 cp-kafka:6.2.1 docker 镜像? 对我来说失败了

[英]How to migrate from cp-enterprise-kafka:6.2.1 to cp-kafka:6.2.1 docker image? It fails for me

When I change the image in docker-compose.yml from enterprise cp-enterprise-kafka to regular cp-kafka当我将 docker-compose.yml 中的图像从企业cp-enterprise-kafka更改为常规cp-kafka 时

it fails to start with:它无法从以下内容开始:
在此处输入图片说明

My config in docker-compose.yml is:我在 docker-compose.yml 中的配置是:

version: '3'

services:
  zookeeper-1:
    image: confluentinc/cp-zookeeper:6.2.1
    hostname: zookeeper-1
    container_name: zookeeper-1
    ports:
      - "2181:2181"
      - "2888:2888"
      - "3888:3888"
    environment:
      ZOOKEEPER_SERVER_ID: 1
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    volumes:
      - ./kafka-data/zookeeper-1:/var/lib/zookeeper/data
      - ./kafka-data/zookeeper-logs-1:/var/lib/zookeeper/log
    networks:
      - mynet

  broker-1:
    image: confluentinc/cp-enterprise-kafka:6.2.1
    hostname: broker-1
    container_name: broker-1
    depends_on:
      - zookeeper-1
    ports:
      - "9092:9092"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: '192.168.100.14:2181'

      KAFKA_LISTENERS: OUTSIDE://0.0.0.0:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: OUTSIDE:PLAINTEXT
      KAFKA_ADVERTISED_LISTENERS: OUTSIDE://192.168.100.14:9092
      KAFKA_INTER_BROKER_LISTENER_NAME: OUTSIDE

      KAFKA_LOG_MESSAGE_TIMESTAMP_TYPE: 'LogAppendTime'

      KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_CONNECTIONS_MAX_IDLE_MS: 31536000000 # 1 year

      CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: 192.168.100.14:9092
      CONFLUENT_METRICS_REPORTER_ZOOKEEPER_CONNECT: 192.168.100.14:2181
      CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 1
      CONFLUENT_METRICS_ENABLE: 'true'
      CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous'
    volumes:
      - ./kafka-data/kafka-1:/var/lib/kafka/data
    networks:
      - mynet

networks:
  mynet:
    driver: bridge

ie I change only broker-1 image from cp-enterprise-kafka to cp-kafka.即我只将 broker-1 图像从 cp-enterprise-kafka 更改为 cp-kafka。

I noticed that controllerEpoch is much lesser than brokerEpoch - maybe this is a reason?我注意到 controllerEpoch 比 brokerEpoch 小得多 - 也许这是一个原因?

Any ideas?有任何想法吗? Thanks!谢谢!

RESOLVED (but don't know how exactly):已解决(但不知道具体如何):

  1. stopped zookeeper and broker停止动物园管理员和经纪人
  2. copy all zookeeper data (backup)复制所有zookeeper数据(备份)
  3. start zookeeper and broker and got this (wrong cluster):启动zookeeper和broker并得到这个(错误的集群):
broker-1       | [2021-10-19 09:25:25,648] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
broker-1       | kafka.common.InconsistentClusterIdException: The Cluster ID MlRI76IVQ8y4nTZgigyUGw doesn't match stored clusterId Some(HXaFk1peQcaR23TAqh0Z2g) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.
broker-1       |        at kafka.server.KafkaServer.startup(KafkaServer.scala:218)
broker-1       |        at kafka.Kafka$.main(Kafka.scala:109)
broker-1       |        at kafka.Kafka.main(Kafka.scala)
  1. stopped zookeeper and broker停止动物园管理员和经纪人
  2. copied (backed up previously) zookeeper data back复制(之前备份)zookeeper 数据回来
  3. started... and all starts ok!开始了……一切都开始了!

Maybe even zookeeper data backup not needed at all and it's fine just to change broker's cluster.id inside /var/lib/kafka/data/meta.properties也许甚至根本不需要zookeeper数据备份,只需在/var/lib/kafka/data/meta.properties中更改broker的cluster.id就可以了

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM