项目空间克隆功能可以帮助您快速将源项目空间中的实体及配置信息复制到同地域下的目标项目空间,从而有效减少重复开发工作,提升资源利用效率,同时可实现故障后的数据冷备。本文将为您详细介绍项目空间克隆的适用场景、操作步骤及注意事项。

适用场景

类别

适用场景

操作建议

数据备份

需要定期对关键数据进行备份以防止故障导致数据丢失。

在项目生命周期的不同阶段,需要为每个阶段创建独立的数据快照以便追溯或回滚。

目标项目空间为空:建议将源项目空间的数据克隆到一个全新的、空的项目空间中。这种操作可以确保备份数据的独立性,避免与存量数据产生冲突。

全量备份:每次克隆均为数据的全量备份,因此无需手动筛选增量数据,系统会自动捕获最新的完整数据状态。

版本管理:通过为目标项目空间命名(如按日期或版本号命名),可以轻松实现数据版本化管理。例如,Backup_20241001 和 Backup_20241015 分别代表不同时间点的备份数据,便于后续查询和恢复。

资源克隆共享

资源复用:已有项目空间中存在大量存量资源时,可以通过克隆功能快速引入新资源,避免重复建设。

跨团队协作:当多个团队需要共享同一套资源时,可以通过克隆功能将资源分发到不同的项目空间。

环境隔离:在测试、开发或生产环境中,克隆功能可用于创建独立的资源副本,确保各环境之间的隔离性和一致性。

目标项目空间已存在数据:与数据备份不同,在资源克隆共享场景中,目标项目空间通常已经包含其他资源。此时,克隆功能可以帮助您将源数据无缝集成到现有的资源体系中。

权限管理:在克隆过程中,建议结合权限管理机制,确保只有授权用户能够访问和操作目标项目空间中的资源。

存储/数据迁移

不再自维护OSS存储,从OSS迁移至全托管服务。

从测试项目空间将数据迁移至生产项目空间。

存储权限:从OSS存储克隆至全托管存储,还需把项目空间绑定的Bucket的只读(包含ListObject操作)权限授予arn:sts::1060219998962774:assumed-role/aliyunstreamasidefaultrole/refresh_token(全托管账户),详情请参见Bucket Policy设置授权策略。

使用限制

地域限制:仅支持同地域内的跨工作空间克隆。不支持跨地域操作。

克隆粒度:仅克隆项目空间。不支持克隆整个工作空间。

排除内容:不支持克隆任务编排、队列、权限、告警配置。

版本策略:仅克隆开发态的最新草稿和运维态的已上线作业。忽略开发态的历史版本。

并发操作:保持一对一克隆。禁止一个源空间向多个目标空间同时克隆,也禁止多个源空间向一个目标空间同时克隆。

存储兼容性:源工作空间存储类型为全托管存储,目标空间仅允许选择全托管存储工作空间,不支持选择OSS。

架构兼容性:仅支持相同架构的空间克隆,不支持 x86 与 ARM 间的跨架构操作。

状态克隆:仅VVR 6.0.2及以上引擎版本支持带状态(Checkpoint 或 Savepoint)克隆。

注意事项

获取权限发起克隆的用户需同时具有源项目空间和目标项目空间的编辑权限(Editor 角色),系统将以该用户身份进行端到端鉴权。详情请参见开发控制台授权。

克隆限制

资源锁定:克隆期间无法变更资源配置。

不可回滚:克隆操作无法撤销。如果停止克隆,已经被克隆的资源需要手动删除。

避免重复:向同一目标空间多次克隆会导致资源重复。

存储权限:从OSS存储克隆至全托管存储,还需把项目空间绑定的Bucket的只读(包含ListObject操作)权限授予arn:sts::1060219998962774:assumed-role/aliyunstreamasidefaultrole/refresh_token(全托管账户),详情请参见Bucket Policy设置授权策略。

克隆作业状态

选择带状态克隆时:

已完成及停止状态的流作业:系统克隆最新快照或系统检查点。

运行中及过渡状态的流作业:若运行中流作业克隆策略选择不跳过,系统在克隆前自动创建快照,无需手动操作。但作业持续运行会生成更新的系统检查点,已克隆的快照非最新状态。

检查流作业状态

迁移场景下,源作业持续运行会生成新状态,可能造成数据干扰。请停止作业后再克隆。

源作业与克隆副本同时运行可能造成业务紊乱,请确认无影响后再启动克隆副本。

系统检查点能否正常生成是判断克隆副本功能是否正常的重要依据,请关注其生成状态。

处理同名实体系统会自动重命名目标空间中的同名实体。在克隆历史详情中查看重命名清单。

手动修正配置作业中配置的或引用的Catalog 名称不会自动更新。必须手动修改作业代码和配置中的 Catalog 名称,否则作业将失败。

调试作业克隆完成后,作业和 Session 集群处于停止状态。克隆的作业可能无法直接运行(例如没有添加依赖配置)。可以执行以下操作:

调试作业草稿。

检查依赖文件是否符合预期。

调整作业的依赖配置。

操作步骤

已准备源项目空间和目标克隆工作空间及项目空间,操作详情请参见开通实时计算Flink版或管理项目空间。

进行项目空间实体及配置信息克隆操作。

登录实时计算管理控制台。

单击需要克隆的工作空间更多列下的空间克隆 > 开始克隆。

填写克隆配置信息。

选择克隆空间。

选择克隆对象。

可按需选择克隆对象,如作业草稿、已部署作业、文件资源、自定义 Catalog/UDF/Connector/数据格式、文件资源、变量配置等。

克隆已部署作业时,默认全选当前项目空间下的所有作业,可按需筛选部分作业,支持按作业名称、作业类型、引擎版本、运行状态、上次克隆完成时间进行筛选过滤。

配置克隆策略

配置信息

配置选项

说明

流作业状态克隆策略

带状态

克隆最新快照或系统检查点,可避免已处理的数据被重复计算。

无状态

仅克隆作业配置与代码,不克隆任何快照或系统检查点。

运行中流作业克隆策略

跳过

克隆时自动过滤运行中的流作业,可避免源作业生成新状态造成数据干扰,推荐迁移场景使用。

不跳过

克隆前自动为运行中的流作业创建快照,确保克隆最新状态,推荐备份场景使用。

错误处理策略

跳过并继续

遇到克隆失败的实体时,记录失败项并继续克隆其余实体。

中断克隆

遇到任一实体克隆失败时,立即终止克隆任务。已成功克隆的数据将保留。

允许无状态克隆

带状态克隆失败时,自动回退为无状态克隆并继续。

单击开始克隆。

查看克隆进度及完成情况。

克隆过程中

单击开始克隆几秒后,工作空间列表上方会出现提示信息,单击查看克隆进度,查看克隆过程。预计等待较长时间,可保持后台克隆。

在弹出的 空间克隆 弹窗中,可查看各克隆模块(元数据管理、Session 管理、安全中心、数据开发、作业运维)的克隆进度。弹窗底部提供 后台克隆 和 停止克隆 按钮。

克隆完成后

单击目标工作空间更多列下的空间克隆 > 克隆历史,然后单击详情,您可以查看克隆的实体类别、总数量及失败数量,此外还会展示重命名列表。

相关文档

SQL和DataStream作业的备份操作请参见备份作业并部署新作业。