使用zkCli.sh工具备份
./zkCli.sh -server host:port
save /path/to/snapshot
(将数据保存到指定路径)scp
将快照文件复制到本地或其他节点。使用tar命令备份数据目录
sudo systemctl stop zookeeper
/var/lib/zookeeper
):sudo tar -czvf zookeeper-backup-$(date +%F).tar.gz /var/lib/zookeeper
/etc/zookeeper
):sudo cp -r /etc/zookeeper /backup/
定期自动化备份
cron
定时执行备份脚本,例如每天凌晨3点备份:0 3 * * * /path/to/backup_script.sh
手动恢复
sudo systemctl stop zookeeper
sudo rm -rf /var/lib/zookeeper/*
/var/lib/zookeeper
sudo cp -r /backup/zookeeper/* /etc/zookeeper/
sudo systemctl start zookeeper
使用Zookeeper AdminServer恢复
zoo.cfg
):admin.enableServer=true
admin.serverPort=8080
curl -X POST http://localhost:8080/commands/restore --data "/path/to/backup"
sudo chown -R zookeeper:zookeeper /path/to/backup
)。rsync
或scp
实现自动化备份。参考来源: