使用跨区域复制和灾难恢复

Lakehouse for Apache Iceberg 支持目录元数据的跨区域复制和灾难恢复。

此配置需要由 Cloud Storage 双区域多区域存储分区提供支持的目录。

准备工作

  1. 验证是否已为您的 Google Cloud 项目启用结算功能。

  2. 启用 BigLake API。

    启用 API 所需的角色

    如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予角色

    启用 API

所需角色

如需获得在 Lakehouse 运行时目录中使用 Iceberg REST 目录端点所需的权限,请让管理员未您授予以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

复制和灾难恢复工作流

如需使用跨区域复制和灾难恢复,请按照以下一般步骤操作:

  1. 查看复制状态: 确定当前的主要区域和次要区域,以确定故障切换的目标区域。
  2. 检查同步状态: 验证主要区域和次要区域的当前状态,确保它们已准备好进行转换。
  3. 选择故障切换模式: 在 软故障切换(最适合 计划内维护)或 硬故障切换(最适合紧急 恢复)之间做出选择。
  4. 启动故障切换: 运行与所选模式对应的命令,以切换主要区域和次要区域。

为故障切换做准备

确定当前的主要区域,并验证次要区域的同步状态。然后,启动故障切换。

查看复制状态

如需确定复制目录的区域,请运行以下 gcloud biglake iceberg catalogs describe 命令。

gcloud biglake iceberg catalogs describe CATALOG_NAME

CATALOG_NAME 替换为目录的名称。

检查同步状态

在启动故障切换之前,请使用 gcloud biglake iceberg catalogs failover 命令检查您的 次要副本的同步状态:

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --validate_only \
    --primary-replica PRIMARY_REPLICA_REGION

替换以下内容:

  • CATALOG_NAME:目录的名称。
  • PRIMARY_REPLICA_REGION:要指定为新主副本的区域。

启动故障切换

灾难恢复功能使用元存储复制来指定主要区域和次要区域。所有表提交元数据都从主要区域提供,并复制到次要区域。您可以使用故障切换操作切换目录的主要区域和次要区域。

软故障切换

如需启动软故障切换,请运行以下 gcloud biglake iceberg catalogs failover 命令:

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION

替换以下内容:

  • CATALOG_NAME:目录的名称。
  • PRIMARY_REPLICA_REGION:要指定为新主副本的区域。

硬故障切换

如需启动硬故障切换,请运行以下 gcloud biglake iceberg catalogs failover 命令:

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION \
    --conditional-failover-replication-time=REPLICATION_TIMESTAMP

替换以下内容:

  • CATALOG_NAME:目录的名称。
  • PRIMARY_REPLICA_REGION:要指定为新主副本的区域。
  • REPLICATION_TIMESTAMP:充当复制检查点的 RFC 3339 时间戳。复制过程会验证副本是否包含在此时间之前提交的所有数据。如果副本不包含在此时间戳之前提交的所有数据,则该命令会失败。如需强制执行故障切换过程,而不考虑任何复制延迟,请将此时间戳设置为很久以前的日期。 注意:在预览版期间,REPLICATION_TIMESTAMP 仅跟踪目录元数据,而不跟踪 Cloud Storage 文件。如需将 数据丢失保持在较低水平,请参阅 Cloud Storage 数据可用性和 持久性文档。

后续步骤