在Ubuntu上實現Zookeeper數據遷移,可參考以下方案,操作前需確保已停止Zookeeper服務以避免數據不一致:
zoo.cfg
確認數據存儲路徑(默認/var/lib/zookeeper
):grep "dataDir" /etc/zookeeper/conf/zoo.cfg
sudo tar -czvf zookeeper-data-backup.tar.gz /var/lib/zookeeper
sudo tar -czvf zookeeper-config-backup.tar.gz /etc/zookeeper/conf
sudo tar -xzvf zookeeper-data-backup.tar.gz -C /var/lib/
sudo tar -xzvf zookeeper-config-backup.tar.gz -C /etc/zookeeper/conf/
sudo chown -R zookeeper:zookeeper /var/lib/zookeeper
sudo chown -R zookeeper:zookeeper /etc/zookeeper/conf
myid
文件正確配置(每個節點唯一),并啟動服務:sudo systemctl start zookeeper
git clone https://github.com/kshchepanovskyi/zkcopy.git
cd zkcopy && mvn clean install
java -jar target/zkcopy.jar --source source-node:2181 --target target-node:2181
zkCli.sh
工具檢查節點數據是否完整:./zkCli.sh -server target-node:2181
ls /
get /path/to/node