ZooKeeper 的数据可借助 zkcopy 在不同的 ZooKeeper 集群间进行迁移。

本小节简要介绍如何将把 /zk-test 下的数据从源集群迁移到目标集群。

操作步骤

  1. 获取源集群节点 IP。

    例如源集群包含 3 个节点:192.168.0.7, 192.168.0.9, 192.168.0.8。

    源集群中包含路径为 /zk-test 的 znode。

  2. 获取目标集群节点 IP。

    例如目标集群包含 3 个节点:192.168.0.6, 192.168.0.5, 192.168.0.12

  3. 新建能连通两个集群环境的虚拟机,并执行以下命令获取 zkcopy 的 docker 映像。

    docker pull ksprojects/zkcopy
  4. 迁移 /zk-test 中数据至目标集群。

    docker run --rm -it ksprojects/zkcopy --source 192.168.0.7:2181,192.168.0.9:2181,192.168.0.8:2181/zk-test --target 192.168.0.6:2181,192.168.0.5:2181,192.168.0.12:2181/zk-test