关于“受管理的迁移”

托管式迁移是一项自动化功能,可帮助您将数据从自行管理的 Hive Metastore 迁移到 Dataproc Metastore 服务,而不会出现任何长时间的服务中断(也称为标记日)。

托管式迁移架构

下图提供了托管式迁移的概要架构。

Dataproc Metastore 托管式迁移

托管式迁移流程

如需完成托管式迁移,您的服务需要完成两个迁移流程:开始迁移完成迁移。您可以随时通过取消迁移流程取消迁移。您还可以运行一些操作命令,但这些命令不是完成迁移所必需的。例如,列出迁移删除迁移

在完成此过程时,您的服务也会在不同的迁移状态迁移阶段之间转换。这些状态和阶段代表后台正在发生的进程。例如,MIGRATING 状态表示您的服务正在积极将数据从 Cloud SQL 数据库传输到 Dataproc Metastore。

开始迁移

  • Dataproc Metastore 会与您的私有 IP Cloud SQL 实例建立连接。建立连接后,Dataproc Metastore 会将 Cloud SQL 实例用作其 Hive Metastore (HMS) 后端数据库。它还会在迁移期间继续作为数据的真实来源。迁移处于活动状态时,Cloud SQL 中仍会进行元数据读写。

  • 启动变更数据捕获 (CDC) 流水线。此流水线可让项目中的 Cloud SQL 实例与 Dataproc Metastore 托管项目中的 Spanner 保持同步。这意味着,Cloud SQL 实例中对 HMS 数据库的所有更改都会通过 Datastream 捕获,并写入 Dataproc Metastore Spanner 数据库。

启动迁移流程成功后,您可以开始将数据工作负载路由到 Dataproc Metastore。此时,Cloud SQL 仍然是数据的真相来源。

完成迁移

将工作负载迁移到 Dataproc Metastore 后,您就可以完成迁移了。调用完整迁移流程后,会发生以下情况:

  • 完成迁移流程之前,Dataproc Metastore 会转换为只读模式。
  • CDC 流会将所有传输中的数据转移到 Dataproc Metastore。
  • Dataproc Metastore 会连接到 Spanner 并断开与 Cloud SQL 的连接。Dataproc Metastore 现在充当 HMS 数据的可信来源。

代理和流水线注意事项

代理

Dataproc Metastore 使用与 SOCKS5 代理链接的 Cloud SQL Auth 代理连接到您的专用 IP Cloud SQL 实例。SOCKS5 代理服务器通过服务附件公开,如上文的架构图所示。

  • 每项迁移都需要专用的 NAT 子网。这是因为一个 NAT 子网不能有多个服务连接。

  • 为避免跨区域延迟问题,请提供与 Cloud SQL 实例位于同一区域的子网来托管 SOCKS5 代理。例如,proxy_subnetnat_subnet

变更数据捕获流水线

变更数据捕获流水线使用 VPC 对等互连在 Datastream 和专用 IP Cloud SQL 之间建立连接

  • 对于每次迁移,系统都会创建新的专用连接并建立新的对等连接。

  • 托管 Cloud SQL 实例的 VPC 网络具有与正在进行的迁移数量相同的对等连接。确保您的 VPC 网络有足够的容量来托管所有必要的对等互连连接。

后续步骤