【问题标题】:How to recover kafka data如何恢复kafka数据
【发布时间】:2018-12-25 07:59:16
【问题描述】:

我有一个单节点集群 kafka 设置。

docker-compose 文件是这样的:

version: '2'

services:
  zookeeper:
    image: zookeeper:3.4.9
    hostname: zookeeper
    ports:
      - "2181:2181"
    environment:
        ZOO_MY_ID: 1
        ZOO_PORT: 2181
        ZOO_SERVERS: server.1=zookeeper:2888:3888
    volumes:
      - zookeeper-data:/var/lib/zookeeper/data
      - zookeeper-log:/var/lib/zookeeper/log


  broker:
    image: confluentinc/cp-kafka:4.1.1
    hostname: broker
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://dev.kafka.org:9092"
      KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
      KAFKA_BROKER_ID: 1
      KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_DELETE_TOPIC_ENABLE: "true"
      KAFKA_LOG_RETENTION_HOURS: 1680
      KAFKA_JMX_PORT: 7071
    volumes:
      - kafka-data:/var/lib/kafka/data
    depends_on:
      - zookeeper

由于某种原因,我不得不重新启动整个 kafka 堆栈。重启后发现主题不见了。

似乎 zookeeper 数据日志的命名卷不正确。

如果 zookeeper 数据丢失并且 kafka 卷数据可用,我有什么方法可以恢复主题数据?

【问题讨论】:

    标签: docker apache-kafka apache-zookeeper


    【解决方案1】:

    不是真的。如果您的 inode 表在您的文件系统上损坏,失去 zookeeper 就有点像。可能有一些方法可以手动重建 zookeeper 中的数据,但它不太可能起作用。这就是为什么人们将 zookeeper 作为高可用性分布式系统运行的原因,因为保留存储在那里的数据非常重要。

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2021-04-17
      • 2020-11-11
      • 2022-01-12
      • 1970-01-01
      • 2020-07-07
      • 2015-10-04
      相关资源
      最近更新 更多