本頁說明如何備份 Dataproc Metastore 服務。
備份會擷取服務快照,並儲存目前的設定和所有中繼資料。
建立備份後,您可以使用「從備份還原」功能,將快照中儲存的資料填入新的 Dataproc Metastore 服務。
事前準備
必要的角色
如要取得備份 Dataproc Metastore 服務所需的權限,請要求管理員授予下列 IAM 角色:
-
如要授予 Dataproc Metastore 資源的完整控制權來完成備份,請使用下列任一方法:
-
Dataproc Metastore 編輯者 (
roles/metastore.editor
) 中繼資料服務。 -
Dataproc Metastore 管理員 (
roles/metastore.admin
) 專案。
-
Dataproc Metastore 編輯者 (
-
如要授予資料庫和表格特定中繼資料的讀取和修改權限:
中繼資料服務的 Dataproc Metastore 中繼資料操作者 (
roles/metastore.metadataOperator
) -
如要使用儲存排定備份作業的 Cloud Storage 物件:
Dataproc Metastore 服務代理程式的「Cloud Storage 物件使用者」 (
roles/storage.objectUser
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色具備備份 Dataproc Metastore 服務所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要備份 Dataproc Metastore 服務,您必須具備下列權限:
-
如要備份中繼資料服務,請按照下列步驟操作:
metastore.backups.create
-
如要使用 Cloud Storage 物件,請按照下列步驟操作:
-
orgpolicy.policy.get
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
storage.managedFolders.create
-
storage.managedFolders.delete
-
storage.managedFolders.get
-
storage.managedFolders.list
-
storage.multipartUploads.*
-
storage.objects.create
-
storage.objects.delete
-
storage.objects.get
-
storage.objects.list
-
storage.objects.restore
-
storage.objects.update
-
備份注意事項
執行備份作業前,請注意下列事項:
- 每項 Dataproc Metastore 服務最多可同時建立及儲存七個備份。如果嘗試超過七次備份,備份程序就會失敗。如要建立其他備份,請先手動刪除其中一個已儲存的備份檔案。
- 備份作業執行期間,您無法更新 Dataproc Metastore 服務,例如變更設定。不過,您仍可使用服務執行一般作業,例如從附加的 Dataproc 或自行管理的叢集存取中繼資料。
- 您可以建立排程備份,在各種 cron 間隔執行,例如每天執行。
建立備份
如要備份 Dataproc Metastore 服務,請完成下列分頁中的步驟:
控制台
在 Google Cloud 控制台中,開啟「Dataproc Metastore」頁面:
在「Dataproc Metastore」頁面中,按一下要備份的服務名稱。
「服務詳細資料」頁面隨即開啟。
圖 1. Dataproc Metastore 服務詳細資料頁面 按一下頁面頂端的「備份」。
「備份」頁面隨即開啟。
輸入備份名稱。
選用:輸入備份的說明。
如要開始備份作業,請按一下「備份」。
返回「Dataproc Metastore」頁面,確認服務備份作業是否成功。
備份完成後,無論備份是否成功,Dataproc Metastore 都會自動返回有效狀態。
gcloud CLI
如要備份 Dataproc Metastore 服務,請執行下列
gcloud metastore services backups create
指令:gcloud metastore services backups create BACKUP \ --location=LOCATION \ --service=SERVICE \ --description=DESCRIPTION
更改下列內容:
BACKUP
:備份作業的 ID 或完整 ID。LOCATION
:Dataproc Metastore 服務所在的 Google Cloud 區域。- :Dataproc Metastore 服務的名稱。
SERVICE
DESCRIPTION
:備份的說明。
確認服務已備份成功。
備份完成後,Dataproc Metastore 會自動返回有效狀態,無論備份是否成功。
REST
按照 API 操作說明,使用 API Explorer 備份服務中的中繼資料。
備份完成後,Dataproc Metastore 會自動返回有效狀態,無論備份是否成功。
查看備份記錄
如要在 Google Cloud 控制台中查看 Dataproc Metastore 服務的備份記錄,請完成下列步驟:
- 在 Google Cloud 控制台中,開啟「Dataproc Metastore」頁面。
點按導覽列中的「備份/還原」。
備份記錄會顯示在「備份」下方的表格中。
系統最多會顯示最近 7 個備份。
刪除 Dataproc Metastore 服務時,系統也會刪除所有相關聯的備份記錄。
刪除備份
如要透過 Google Cloud 控制台刪除 Dataproc Metastore 備份,請完成下列步驟:
排定備份時間
您可以排定備份作業在使用者指定的 Cron 工作間隔執行,包括每天、每週或每月執行。Cron 排程採用 Unix-Cron 字串格式 (* * * * *),也就是一行中的五個欄位,用來指出工作應執行的時間。
舉例來說,您可以設定自訂間隔,每週建立一次備份,例如太平洋時間每週三下午 2 點建立備份。
排定備份時間的注意事項
- 排定備份作業時,必須指定備份位置,且該位置必須是 Cloud Storage 路徑。
- 系統一律會以 Avro 檔案格式建立排定的備份。
- 排定的備份作業預設會以世界標準時間設定。首次建立備份時,可以變更時區。
- 您可以設定備份作業的執行頻率,例如每小時、每天、每週或每月。可設定的最低間隔為 4 小時。
建立排程備份
首次建立服務時可以設定備份排程,也可以在更新服務時新增。
如要建立具有排定備份作業的 Dataproc Metastore 服務 2,請按照下列分頁中的步驟進行:
控制台
在「Dataproc Metastore」頁面頂端,按一下「建立」按鈕。
「建立服務」頁面隨即開啟。
選取「Dataproc Metastore 2」。
在「排定的備份」下方,將切換鈕設為「啟用」。
在「位置」下方,選取要儲存排定備份作業的 Cloud Storage 位置。
選用:在「時間表」下方選取下列項目:
- 在「重複」部分,選取重複頻率,例如「每日」或「每週」。
- 在「At time」(時間) 部分,選取重複時間,例如凌晨 12 點。
- 在「時區」中,選取適當的時區,例如「UTC-8」。
其餘服務設定選項請使用系統提供的預設值。
按一下「提交」。
gcloud CLI
如要排定 Dataproc Metastore 服務的備份作業,請執行下列
gcloud metastore services backups create
指令:gcloud metastore services create SERVICE \ --location=LOCATION \ --enable-scheduled-backup \ --scheduled-backup-cron=SCHEDULED_BACKUP_CRON \ --scheduled-backup-location=SCHEDULED_BACKUP_LOCATION
更改下列內容:
SERVICE
:備份作業的 ID 或完整 ID。LOCATION
:Dataproc Metastore 服務所在的 Google Cloud 區域。SCHEDULED_BACKUP_CRON
:備份頻率,以 cron 時間格式指定。舉例來說,Cron 值為0 0 * * *
會排定每日備份。SCHEDULED_BACKUP_LOCATION
:備份的 Cloud Storage 位置。例如:gs://my-bucket/path/to/location
。
或
您也可以將上述值儲存在設定檔中,排定備份作業:
gcloud metastore services create SERVICE \ --location=LOCATION \ --scheduled-backup-configs-from-file=SCHEDULED_BACKUP_CONFIGS_FROM_FILE
更改下列內容:
SCHEDULED_BACKUP_CONFIGS_FROM_FILE
:JSON 檔案的路徑,其中包含備份設定值enabled
、cront_schedule
、time_zone
和backup_location
。
以下範例顯示備份設定檔,該檔案會啟用排程備份、將備份排程設為每小時一次、將時區指定為太平洋標準時間,並將備份位置定義為 Cloud Storage 值區。您可以從常見的 tz 資料庫時區清單中選擇時區。
{ "enabled": true, "cron_schedule": "0 0 * * *", "time_zone": "PST", "backup_location": "gs://my-bucket/path/to/location" }
REST
按照 API 說明,使用 APIs Explorer 建立排程備份。
更新排定的備份
如要更新已設定排程備份的 Dataproc Metastore 服務 2,請按照下列分頁中的步驟操作:
控制台
gcloud CLI
如要排定 Dataproc Metastore 服務的備份作業,請執行下列
gcloud metastore services backups update
指令:gcloud metastore services update SERVICE \ --location=LOCATION \ --enable-scheduled-backup \ --scheduled-backup-cron=SCHEDULED_BACKUP_CRON \ --scheduled-backup-location=SCHEDULED_BACKUP_LOCATION \
更改下列內容:
SERVICE
:排定備份作業的 ID 或完整 ID。LOCATION
:Dataproc Metastore 服務所在的 Google Cloud 區域。SCHEDULED_BACKUP_CRON
:備份頻率,以 cron 時間格式指定。舉例來說,Cron 值為0 0 * * *
會排定每日備份。SCHEDULED_BACKUP_LOCATION
:排定備份作業的 Cloud Storage 位置。例如:gs://my-bucket/path/to/location
。
您也可以使用儲存在設定檔中的先前值,更新排定的備份作業:
gcloud metastore services update SERVICE \ --location=LOCATION \ --scheduled-backup-configs-from-file=SCHEDULED_BACKUP_CONFIGS_FROM_FILE
更改下列內容:
SCHEDULED_BACKUP_CONFIGS_FROM_FILE
:備份設定的 JSON 檔案路徑。
以下範例顯示的備份設定檔會停用排定的備份作業。
{ "enabled": false, }
REST
按照 API 操作說明,使用 APIs Explorer 更新排定的備份作業。
查看排定的備份
如要查看已設定排程備份的 Dataproc Metastore 服務 2,請按照下列分頁中的步驟進行:
控制台
gcloud CLI
執行下列
gcloud storage ls
指令:gcloud storage ls gs://BUCKET_NAME/SERVICE/LOCATION
更改下列內容:
BUCKET_NAME
:儲存您要查看排定備份作業的 Cloud Storage bucket 路徑。SERVICE
:排定備份作業的 ID 或完整 ID。LOCATION
:Dataproc Metastore 服務所在的 Google Cloud 區域。
REST
按照 API 操作說明,使用 API Explorer 查看排定的備份作業。
排解常見問題
- 服務代理或使用者帳戶沒有必要權限。
- 如需更多解決常見疑難排解問題的說明,請參閱「備份與還原錯誤情境」。