Borderless Lakehouse 支援目錄中繼資料的跨區域複製和災難復原。
這項設定需要由 Cloud Storage 雙區域或多區域 bucket 支援的目錄。
事前準備
-
啟用 BigLake API (如果尚未啟用)。
啟用 API 所需的角色
您必須具備
serviceusage.services.enable權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「Service Usage 管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。
必要的角色
如要取得在 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.viewer) - Cloud Storage bucket 的 Storage 物件檢視者 (
roles/storage.objectViewer)
- 專案的 BigLake 檢視者 (
-
在非憑證臨時配發模式下,管理目錄資源及寫入資料表資料:
- 專案的 BigLake 編輯者 (
roles/biglake.editor) - Cloud Storage bucket 的 Storage 物件使用者 (
roles/storage.objectUser)
- 專案的 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:要指定為新主要副本的區域。
啟動容錯移轉
災難復原功能會使用 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 資料可用性和耐用性說明文件。