在 Ubuntu 上备份 Kafka 配置,核心就是备份 配置文件、数据目录(可选)、相关系统服务配置。下面按常见部署方式给你一个完整、可操作的备份方案。
不同方式,路径略有不同:
| 部署方式 | 常见路径 |
|---|---|
| 官方 TGZ 解压 | /opt/kafka、/usr/local/kafka |
| APT 安装 | /etc/kafka |
| Docker | 容器内路径 + 挂载卷 |
| 集群 | 每台机器都要备份 |
常见路径:
/etc/kafka/
或
/opt/kafka/config/
至少备份以下文件:
server.properties
producer.properties
consumer.properties
如果是 KRaft 模式,还要备份:
meta.properties
sudo mkdir -p /backup/kafka/$(date +%F)
sudo cp -r /etc/kafka /backup/kafka/$(date +%F)/
或:
sudo tar czvf kafka-config-$(date +%F).tar.gz /etc/kafka
⚠️ 注意:数据目录很大,一般只备份目录结构或元数据,不建议频繁全量备份。
在 server.properties 中:
log.dirs=/var/lib/kafka/data
tree -d /var/lib/kafka/data > kafka-data-structure.txt
sudo tar czvf kafka-data-$(date +%F).tar.gz /var/lib/kafka/data
/etc/zookeeper/
或
/opt/kafka/config/zookeeper.properties
dataDir=/var/lib/zookeeper
备份示例:
sudo cp -r /etc/zookeeper /backup/zookeeper/
sudo cp -r /var/lib/zookeeper /backup/zookeeper-data/
sudo cp /etc/systemd/system/kafka.service /backup/kafka/
sudo cp /etc/systemd/system/zookeeper.service /backup/kafka/
systemctl cat kafka
docker inspect kafka | grep Mounts
比如:
/opt/kafka-docker/config
/opt/kafka-docker/data
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup/kafka/$DATE
mkdir -p $BACKUP_DIR
cp -r /etc/kafka $BACKUP_DIR/
cp -r /var/lib/kafka/data $BACKUP_DIR/
cp /etc/systemd/system/kafka.service $BACKUP_DIR/
tar czvf kafka-backup-$DATE.tar.gz $BACKUP_DIR
tar xzvf kafka-backup-2026-01-21.tar.gz -C /
systemctl daemon-reload
systemctl restart kafka
✅ 配置文件:每天
✅ 数据目录:非必要不备份,用副本机制
✅ 结合版本控制(Git)管理 *.properties
如果你愿意,可以告诉我:
我可以帮你定制一套 适合你环境的 Kafka 备份与恢复方案 ✅