本页面介绍了如何使用 BigLake metastore 跨区域复制和灾难恢复。
此功能仅适用于使用 Cloud Storage 双区域或多区域存储分区的目录。
准备工作
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
所需的角色
如需获得在 BigLake metastore 中使用 Iceberg REST 目录所需的权限,请让管理员为您授予以下 IAM 角色:
-
执行管理任务,例如管理目录用户访问权限、存储访问权限和目录的凭证自动售卖模式:
-
针对项目的 BigLake Admin (
roles/biglake.admin) 角色 -
针对 Cloud Storage 存储桶的 Storage Admin (
roles/storage.admin) 角色
-
针对项目的 BigLake Admin (
-
在凭据自动售卖模式下读取表数据:
针对项目的 BigLake Viewer (
roles/biglake.viewer) 角色 -
以凭据自动售卖模式写入表数据:项目的 BigLake Editor (
roles/biglake.editor) 角色 -
在非凭证自动售卖模式下读取目录资源和表数据:
-
项目的 BigLake Viewer (
roles/biglake.viewer) 角色 -
针对 Cloud Storage 存储桶的 Storage Object Viewer (
roles/storage.objectViewer) 角色
-
项目的 BigLake Viewer (
-
在非凭证自动售卖模式下管理目录资源和写入表数据:
-
项目的 BigLake Editor (
roles/biglake.editor) 角色 -
针对 Cloud Storage 存储桶的 Storage Object User (
roles/storage.objectUser) 角色
-
项目的 BigLake Editor (
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
复制和灾难恢复工作流
如需使用跨区域复制和灾难恢复,请按照以下常规步骤操作:
- 查看复制状态:确定当前的主要区域和次要区域,以确定故障切换的目标区域。
- 检查同步状态:验证主区域和辅助区域的当前状态,确保它们已准备好进行转换。
- 选择故障切换模式:选择软故障切换(最适合计划性维护)或硬故障切换(最适合紧急恢复)。
- 启动故障切换:运行与所选模式对应的命令,以切换主要区域和次要区域。
为故障切换做好准备
确定当前主要区域,并验证次要区域的同步状态。然后,启动故障切换。
查看复制状态
如需确定目录的复制区域,请运行以下 gcloud alpha biglake iceberg catalogs describe 命令。
gcloud alpha biglake iceberg catalogs describe CATALOG_NAME
将 CATALOG_NAME 替换为您的目录名称。
检查同步状态
在启动故障切换之前,请使用 alpha biglake iceberg failover 命令检查次要副本的同步状态:
gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
--validate_only \
--primary-replica PRIMARY_REPLICA_REGION
替换以下内容:
CATALOG_NAME:您的目录的名称。PRIMARY_REPLICA_REGION:要指定为新主副本的区域。
启动故障切换
灾难恢复功能使用元存储区复制来指定主区域和辅助区域。所有表提交元数据都从主要区域提供,并复制到次要区域。您可以使用故障切换操作来切换目录的主要区域和次要区域。
软故障切换
如需启动软故障切换,请运行以下 alpha biglake iceberg failover 命令:
gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
--primary-replica PRIMARY_REPLICA_REGION
替换以下内容:
CATALOG_NAME:您的目录的名称。PRIMARY_REPLICA_REGION:要指定为新主副本的区域。
硬故障切换
如需启动硬故障切换,请运行以下 alpha biglake iceberg failover 命令:
gcloud alpha 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 时间戳。复制过程会验证副本是否包含截至此时已提交的所有数据。如果副本不包含在此时间戳之前提交的所有数据,则该命令会失败。如需强制执行故障切换流程,而不考虑任何复制延迟,请将此时间戳设置为很久以前的日期。