在CentOS上備份和恢復Kafka數據可以通過以下幾種方法實現:
sudo systemctl stop kafka
/var/lib/kafka/data
目錄下。你可以使用 rsync
或者 tar
來備份這個目錄。rsync -a /var/lib/kafka/data /backup/kafka_data_backup
或者tar -czvf kafka_data_backup.tar.gz /var/lib/kafka/data
/etc/kafka
目錄下。備份這些文件也很重要。tar -czvf kafka_config_backup.tar.gz /etc/kafka
rsync -a /var/log/kafka /backup/kafka_log_backup
# 指定源和目的地址
SOURCE_HOST=localhost:9092
DESTINATION_HOST=backup-host:9092
# 創建 MirrorMaker 配置文件
cat > /tmp/mirror-maker.properties <<EOF
consumer.bootstrap.servers=$SOURCE_HOST
producer.bootstrap.servers=$DESTINATION_HOST
EOF
# 運行 MirrorMaker
kafka-run-class.sh kafka.tools.MirrorMaker \
--consumer.config /tmp/mirror-maker.properties \
--producer.config /tmp/mirror-maker.properties \
--whitelist $BACKUP_TOPIC
kafka-console-producer.sh
工具將備份文件中的數據恢復到主題中。# 指定恢復的主題
RESTORE_TOPIC=test
# 指定備份文件路徑
BACKUP_FILE=/tmp/backup/$RESTORE_TOPIC.txt
# 恢復主題數據
kafka-console-producer.sh \
--broker-list localhost:9092 \
--topic $RESTORE_TOPIC \
--new-producer \
< $BACKUP_FILE