Zookeeper 冷迁移方案

最近更新时间:2023-04-24 10:37:22

我的收藏

适用场景

将业务应用从自建 Zookeeper 冷迁到 TSE Zookeeper,在迁移过程中,新部署的服务暂不可用,存量服务不受影响。
如果您希望线上运行的业务在迁移时不受影响,请参见 Zookeeper 平滑热迁移方案

迁移步骤

步骤1:持久化数据迁移

创建包含事务日志和快照日志的压缩包

1. 首先,对自建 Zookeeper 集群的所有节点执行以下命令:,来获取自建 Zookeeper 集群 Leader 节点的 IP。
echo srvr | nc [Zookeeper 节点 IP] [Zookeeper 节点端口,默认为2181] | grep Mode
2. 然后,根据 Leader 节点的 zoo.cfg 配置获取其事务日志和快照日志所对应的存储路径。在 zoo.cfg 配置文件中,dataDir 表示快照日志对应的本地存储路径;dataLogDir 表示事务日志对应的本地存储路径。
请访问 Github 地址,下载工具 JAR 包,并上传至源集群所在的合适目录下。执行以下命令生成快照文件压缩包:
java -DconfigPath=*/conf/zoo.cfg -jar tar-zookeeper-1.0.0-Beta.jar -n 1
说明:
* 代表源集群 Leader 节点所在的路径。
3. 生成压缩包后,请将文件下载至本地。如果您的源集群部署在 CVM 中,可以通过以下命令下载文件至本地:
sz -e data.tar.gz

上传快照压缩包

事务日志和快照日志的组合包含了 Zookeeper 节点数据的全部信息。通过日志文件,可以快速的将自建 Zookeeper 的数据迁移到 TSE Zookeeper 中。
通过目标 TSE ZK 引擎详情 - 迁移方案 - 冷迁移,上传以上导出的压缩文件。n


步骤2:新部署的业务应用使用 TSE Zookeeper

将新部署的业务应用使用 TSE Zookeeper,详情查看 以 Spring cloud 应用为例

步骤3:新部署的业务应用上线

验证新部署的业务应用运行是否正常,若能够正常运行,则将请求切换到新部署的业务应用,并下线存量的业务应用。