使用跨區域複製和災難復原功能

Borderless Lakehouse 支援目錄中繼資料的跨區域複製和災難復原。

這項設定需要由 Cloud Storage 雙區域或多區域 bucket 支援的目錄。

事前準備

  1. 確認 Google Cloud 專案已啟用計費功能。

  2. 啟用 BigLake API (如果尚未啟用)。

    啟用 API 所需的角色

    您必須具備 serviceusage.services.enable 權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「Service Usage 管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。

    啟用 API

必要的角色

如要取得在 Lakehouse 執行階段目錄中使用 Iceberg REST 目錄端點所需的權限,請要求管理員授予您下列 IAM 角色:

  • 執行管理工作,例如管理目錄使用者存取權、儲存空間存取權,以及目錄的憑證臨時配發模式:
  • 在憑證販售模式中讀取資料表資料:專案的 BigLake 檢視者 (roles/biglake.viewer)
  • 在憑證販售模式中寫入資料表資料:專案的 BigLake 編輯者 (roles/biglake.editor)
  • 在非憑證臨時配發模式下,讀取目錄資源和資料表資料:
  • 在非憑證臨時配發模式下,管理目錄資源及寫入資料表資料:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

複製和災難復原工作流程

如要使用跨區域複製和災難復原功能,請按照下列一般步驟操作:

  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:要指定為新主要副本的區域。

啟動容錯移轉

災難復原功能會使用 metastore 複製功能,指定主要和次要區域。所有資料表修訂版本中繼資料都會從主要區域提供,並複製到次要區域。您可以使用容錯移轉作業,切換目錄的主要和次要區域。

軟式容錯移轉

如要啟動軟容錯移轉,請執行下列 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 資料可用性和耐用性說明文件。

後續步驟