在 Debian 上备份 Kafka,通常要分两部分来看:
下面按常见做法说明。
Kafka 本身通过 replication 保证高可用:
replication.factor >= 3min.insync.replicas = 2✅ 这不算传统“备份”,但能防止数据丢失
✅ 适合 99% 生产环境
⚠️ 必须停 Kafka 或确保停止写入
sudo systemctl stop kafka
默认数据目录(取决于配置):
/var/lib/kafka/data
# 或
/tmp/kafka-logs
查看实际路径:
grep log.dirs /etc/kafka/server.properties
备份:
tar czf kafka-data-$(date +%F).tar.gz /var/lib/kafka/data
sudo systemctl start kafka
✅ 适合 小集群 / 测试环境
用于:
示例:
bin/kafka-mirror-maker.sh \
--consumer.config consumer.properties \
--producer.config producer.properties \
--whitelist ".*"
✅ 支持实时同步
✅ 不影响源集群
kafka-topics.sh --bootstrap-server localhost:9092 \
--describe > kafka-topics-backup.txt
kafka-acls.sh --bootstrap-server localhost:9092 --list > kafka-acls.txt
zkCli.sh
> save /path/zk-backup.dump
或:
tar czf zk-data-backup.tar.gz /var/lib/zookeeper
/var/lib/kafka/meta.properties
rsync 定时备份:rsync -avz /var/lib/kafka/data backup@backup-server:/kafka-backup/
cron 每日执行kafka-topics.sh --create --bootstrap-server ...
| 场景 | 推荐方式 |
|---|---|
| 生产环境 | 多副本 + MirrorMaker |
| 测试环境 | tar 备份数据目录 |
| 容灾 | MirrorMaker2 |
| 配置备份 | topics / acls 导出 |
如果你能告诉我:
我可以给你一套 具体可执行的 Debian 备份脚本。