在 Debian 系统上备份 Kafka 通常分为两类:元数据备份(ZooKeeper / KRaft) 和 数据备份(Topic 消息)。下面按常见场景说明。
Kafka 的消息本身存储在磁盘上,默认路径一般是:
/var/lib/kafka/data # 或 /tmp/kafka-logs
systemctl stop kafka
tar czf kafka-backup-$(date +%F).tar.gz /var/lib/kafka/data
cp kafka-backup-*.tar.gz /backup/
✅ 优点:简单、完整
❌ 缺点:需停机,适合冷备
kafka-console-consumer + kafka-console-producerkafka-console-consumer.sh \
--bootstrap-server localhost:9092 \
--topic my_topic \
--from-beginning \
> my_topic.json
kafka-console-producer.sh \
--bootstrap-server localhost:9092 \
--topic my_topic \
< my_topic.json
✅ 不需要停机
❌ 不含 Topic 配置、分区信息
适合:
kafka-mirror-maker.sh \
--consumer.config consumer.properties \
--producer.config producer.properties \
--whitelist ".*"
kafka-configs.sh \
--bootstrap-server localhost:9092 \
--entity-type topics \
--entity-name my_topic \
--describe
kafka-acls.sh \
--bootstrap-server localhost:9092 \
--list
zkCli.sh
> ls /
> get /brokers
或直接备份:
/var/lib/zookeeper
备份:
/var/lib/kafka/kraft
✅ 生产推荐组合
tar 备份 kafka-logs✅ 测试环境
kafka-console-consumer 导出即可如果你能告诉我:
我可以给你一套更精确的备份脚本。