本頁說明如何使用 BigLake Metastore 跨區域複製和災難復原功能。
這項功能僅適用於使用 Cloud Storage 雙區域或多區域 bucket 的目錄。
事前準備
-
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 管理員 (
roles/biglake.admin) 專案 -
Cloud Storage 值區的儲存空間管理員 (
roles/storage.admin)
-
BigLake 管理員 (
-
以憑證販售模式讀取資料表資料:
專案的 BigLake 檢視者 (
roles/biglake.viewer) -
以憑證販售模式寫入資料表資料:
專案的 BigLake 編輯者 (
roles/biglake.editor) -
在非憑證臨時配發模式下讀取目錄資源和表格資料:
-
專案的「BigLake Viewer」(BigLake 檢視者) (
roles/biglake.viewer) -
Storage 物件檢視者 (
roles/storage.objectViewer) 在 Cloud Storage 值區上
-
專案的「BigLake Viewer」(BigLake 檢視者) (
-
在非憑證臨時配發模式下管理目錄資源及寫入資料表資料:
-
專案的 BigLake 編輯者 (
roles/biglake.editor) -
Storage 物件使用者 (
roles/storage.objectUser) Cloud Storage 值區
-
專案的 BigLake 編輯者 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
複製和災難復原工作流程
如要使用跨區域複製和災難復原功能,請按照下列一般步驟操作:
- 查看複製狀態:找出目前的主要和次要區域,判斷容錯移轉的目標區域。
- 檢查同步狀態:確認主要和次要區域的目前狀態,確保這些區域已準備好進行轉換。
- 選擇容錯移轉模式:決定要使用軟體容錯移轉 (最適合用於規劃的維護作業),還是硬體容錯移轉 (最適合用於緊急復原)。
- 啟動容錯移轉:執行所選模式對應的指令,切換主要和次要區域。
準備進行容錯移轉
找出目前的主要區域,並確認次要區域的同步狀態。然後啟動容錯移轉。
查看複製狀態
如要判斷目錄的複寫區域,請執行下列 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 時間戳記,做為複製作業的檢查點。複製程序會驗證副本是否包含此時間點前提交的所有資料。如果副本未包含在這個時間戳記之前提交的所有資料,指令就會失敗。如要強制執行容錯移轉程序 (不論是否有任何複製延遲),請將這個時間戳記設為很久以前的日期。