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工具。