Kafka在Ubuntu上的备份操作指南
sudo systemctl status kafka),若未安装需先完成Kafka部署。/var/backups/kafka),确保目录有足够磁盘空间。/var/lib/kafka/data)和备份目录需由kafka用户拥有读写权限(sudo chown -R kafka:kafka /var/lib/kafka/data)。kafka-dump(适用于Debian/Ubuntu系统)。sudo apt-get update
sudo apt-get install kafka-dump
/path/to/backup)。kafka-dump --bootstrap-server localhost:9092 --output-dir /path/to/backup
kafka-backup(支持增量备份)。sudo apt-get install confluent-kafka-backup
kafka-backup --bootstrap-server localhost:9092 --backup-dir /path/to/backup
sudo systemctl stop kafka
tar压缩Kafka数据目录(默认/var/lib/kafka/data)。BACKUP_DIR="/var/backups/kafka/$(date +%Y%m%d)"
mkdir -p "$BACKUP_DIR"
tar -czvf "$BACKUP_DIR/kafka-data-$(date +%Y%m%d).tar.gz" -C /var/lib/kafka data
server.properties等配置文件(通常位于/etc/kafka)。sudo cp -R /etc/kafka /var/backups/kafka/etc_kafka_backup
sudo systemctl start kafka
backup_kafka.sh,包含数据目录备份、压缩及清理旧备份逻辑。#!/bin/bash
BACKUP_DIR="/var/backups/kafka"
DATE=$(date +%Y%m%d)
mkdir -p "$BACKUP_DIR/$DATE"
tar -czvf "$BACKUP_DIR/$DATE/kafka-data-$DATE.tar.gz" -C /var/lib/kafka data
find "$BACKUP_DIR" -type d -name 'kafka-data-*' -mtime +7 -exec rm -rf {} \;
chmod +x /path/to/backup_kafka.sh
crontab -e
# 添加以下行
0 2 * * * /path/to/backup_kafka.sh
sudo systemctl stop kafka
tar -xzvf /var/backups/kafka/kafka-data-YYYYMMDD.tar.gz -C /var/lib/kafka/data
sudo cp -R /var/backups/kafka/etc_kafka_backup/* /etc/kafka/
sudo chown -R kafka:kafka /var/lib/kafka/data
sudo systemctl start kafka
kafka-backup工具。