Lakehouse for Apache Iceberg 支援目錄中繼資料的跨區域複製和災難復原。
這項設定需要以 Cloud Storage 雙區域或多區域 bucket 為後盾的目錄。
事前準備
-
啟用 BigLake API。
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。
必要的角色
如要取得在 Lakehouse 執行階段目錄中使用 Iceberg REST 目錄端點所需的權限,請要求管理員授予您下列 IAM 角色:
-
執行管理工作,例如管理目錄使用者存取權、儲存空間存取權和目錄的憑證販售模式:
- 專案的 BigLake 管理員 (
roles/biglake.admin) - Cloud Storage bucket 的儲存空間管理員 (
roles/storage.admin)
- 專案的 BigLake 管理員 (
-
以憑證販售模式讀取資料表資料:
專案的 BigLake 檢視者 (
roles/biglake.viewer) -
以憑證販售模式寫入資料表資料:
專案的 BigLake 編輯者 (
roles/biglake.editor) - 在非憑證臨時配發模式下讀取目錄資源和資料表資料:
-
在非憑證臨時配發模式下管理目錄資源及寫入資料表資料:
- 專案的 BigLake 編輯者 (
roles/biglake.editor) - Storage 物件使用者 (
roles/storage.objectUser) Cloud Storage 值區
- 專案的 BigLake 編輯者 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
複製和災難復原工作流程
如要使用跨區域複製和災難復原功能,請按照下列一般步驟操作:
- 查看複製狀態:找出目前的主要和次要區域,判斷容錯移轉的目標區域。
- 檢查同步狀態:確認主要和次要區域的目前狀態,確保這些區域已準備好進行轉換。
- 選擇容錯移轉模式:決定要使用軟容錯移轉 (最適合規劃的維護作業) 或硬容錯移轉 (最適合緊急復原)。
- 啟動容錯移轉:執行所選模式對應的指令,切換主要和次要區域。
準備進行容錯移轉
找出目前的主要區域,並確認次要區域的同步狀態。然後啟動容錯移轉。
查看複製狀態
如要判斷目錄的複寫區域,請執行下列 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 的「資料可用性和耐久性」說明文件。