在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