在 Debian 上备份 Kafka,通常分为 数据备份(消息数据)、配置备份、以及 可选的工具化备份。下面按常见场景说明。
Kafka 的数据默认在:
/var/lib/kafka/data
(具体路径取决于你的安装方式,如 apt / 官方 tar / docker)
查看 server.properties:
grep log.dirs /etc/kafka/server.properties
systemctl stop kafka
tar czf kafka-data-$(date +%F).tar.gz /var/lib/kafka/data
tar czf kafka-conf-$(date +%F).tar.gz /etc/kafka
✅ 优点:完全一致
❌ 缺点:需要停机
Kafka 不支持直接热拷贝 log 目录保证一致性,但可用以下方式:
replication.factor >= 2kafka-mirror-maker.sh \
--consumer.config consumer.properties \
--producer.config producer.properties \
--whitelist '.*'
kafka-topics.sh --bootstrap-server localhost:9092 --list > topics.txt
kafka-configs.sh --bootstrap-server localhost:9092 --entity-type topics --describe > topic-configs.txt
kafka-acls.sh --bootstrap-server localhost:9092 --list > acls.txt
如果你使用的是 Kafka < 3.0(依赖 ZooKeeper):
systemctl stop zookeeper
tar czf zk-data-$(date +%F).tar.gz /var/lib/zookeeper
Kafka 3+(KRaft 模式)不需要 ZooKeeper。
systemctl stop kafka
rm -rf /var/lib/kafka/data/*
tar xzf kafka-data-2026-01-15.tar.gz -C /
systemctl start kafka
⚠️ broker.id 必须一致,否则 Kafka 会拒绝启动。
✅ 使用 副本 + MirrorMaker
✅ 定期备份 配置 + topic 元数据
✅ 重要业务做 跨机房 Mirror
❌ 不要只靠文件拷贝
如果你能告诉我:
我可以给你 更精确的备份脚本。