本页面介绍如何创建 Dataproc Metastore 服务的备份。
备份会为您的 服务创建快照,并保存其当前配置设置和所有存储的元数据。
创建备份后,您可以使用“从备份恢复”功能,通过快照中保存的数据填充新的 Dataproc Metastore 服务。
准备工作
所需角色
如需获得备份 Dataproc Metastore 服务所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
如需授予对 Dataproc Metastore 资源的完全控制权以完成备份,请授予以下任一角色:
-
元数据服务的 Dataproc Metastore Editor (
roles/metastore.editor) 。 -
项目的 Dataproc Metastore Administrator (
roles/metastore.admin) 。
-
元数据服务的 Dataproc Metastore Editor (
-
如需授予对数据库和表的特定元数据的读取和修改权限,请授予元数据服务的Dataproc Metastore Metadata Operator (
roles/metastore.metadataOperator)。 -
如需使用存储计划备份的 Cloud Storage 对象,请授予 Dataproc Metastore 服务代理的Cloud Storage Object User (
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 服务,您一次最多可以创建和存储 7 个备份。如果您尝试创建超过 7 个备份,备份过程将失败。如果您想创建另一个备份,必须先手动删除一个已存储的备份文件。
- 在备份操作运行时,您无法更新 Dataproc Metastore 服务,例如,您无法更改配置设置。不过,您仍然可以将服务用于正常操作,例如从关联的 Managed Service for Apache Spark 或自行管理的集群访问元数据。
- 您可以创建计划备份,这些备份会以各种 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 或完全限定的标识符。LOCATION:Dataproc Metastore 服务所在的 Google Cloud 区域 。SERVICE:Dataproc Metastore 服务的名称。DESCRIPTION:备份的说明。
验证您的服务是否已成功备份。
备份完成后,无论备份是否成功,Dataproc Metastore 都会自动返回到活跃状态。
REST
按照 API 说明使用 API Explorer 从服务备份元数据 。
备份完成后,无论备份是否成功,Dataproc Metastore 都会自动 返回到活跃状态。
查看备份历史记录
如需在控制台中查看 Dataproc Metastore 服务的备份历史记录 ,请完成以下步骤: Google Cloud
- 在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。
在导航栏中,点击备份/恢复 。
您的备份历史记录会显示在备份 下的表格中。
历史记录最多显示最近 7 个备份。
删除 Dataproc Metastore 服务也会删除所有关联的备份历史记录。
删除备份
如需在 Google Cloud 控制台中 删除 Dataproc Metastore 备份,请完成以下步骤:
- 在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。
- 在导航栏中,点击备份/恢复 。
- 找到要删除的备份,然后点击设置按钮。
- 点击删除 。
安排备份
您可以安排备份以用户指定的 Cron 作业 间隔运行,包括每天、每周或每月运行 。Cron 时间表使用 unix-cron 字符串格式 (* * * * *),该格式是一行中五个字段的集合,指示应何时执行作业。
例如,您可以设置自定义间隔,以便每周创建一次备份,例如每周三太平洋时间下午 2:00 创建备份。
计划备份注意事项
- 计划备份需要指定备份位置,该位置必须是 Cloud Storage 路径。
- 计划备份始终以 Avro 文件格式创建。
- 计划备份默认在 UTC 时区中配置。您可以在首次创建备份时更改时区。
- 计划备份可以设置为每小时、每天、每周或每月运行一次。您可以设置的最小小时间隔为 4 小时。
创建计划备份
您可以在首次创建服务时设置备份时间表,也可以在日后更新服务时添加备份时间表。
如需创建具有计划备份的 Dataproc Metastore 服务 2,请完成以下某个标签页中的步骤:
控制台
在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。
在 Dataproc Metastore 页面顶部,点击创建 按钮。
此时会打开创建服务 页面。
选择 Dataproc Metastore 2 。
在计划备份下,将切换开关设置为启用。
在位置下,选择要存储计划备份的 Cloud Storage 位置。
可选:在时间表下,选择以下内容:
- 对于重复 ,选择重复规则,例如每天 或每周 。
- 对于时间,选择重复时间,例如凌晨 12:00。
- 对于时区,选择适当的时区,例如 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 或完全限定的标识符。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:包含备份配置值enabled、cront_schedule、time_zone和backup_location的 JSON 文件的路径。
以下示例展示了一个备份配置文件,该文件启用了计划备份,将备份时间表设置为每小时一次,将时区指定为太平洋标准时间 (PST),并将备份位置定义为 Cloud Storage 存储桶。您可以从 常见 tz 数据库时区列表中选择时区。
{ "enabled": true, "cron_schedule": "0 0 * * *", "time_zone": "PST", "backup_location": "gs://my-bucket/path/to/location" }
REST
按照 API 说明使用 API Explorer 创建计划备份 。
更新计划备份
如需更新配置了计划备份的 Dataproc Metastore 服务 2,请完成以下某个标签页中的步骤:
控制台
在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。
在 Dataproc Metastore 页面上,点击要为其安排备份的服务的名称。
在计划备份 下,将切换开关设置为启用 。
在位置下,选择要存储计划备份的 Cloud Storage 位置。
可选:在时间表下,为以下字段选择值:
- 对于重复 ,选择重复规则,例如每天 或每周 。
- 对于时间,选择重复时间,例如凌晨 12:00。
- 对于时区,选择适当的时区,例如 UTC-8。
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 或完全限定的标识符。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 说明使用 API Explorer 更新计划备份 。
查看计划备份
如需查看配置了计划备份的 Dataproc Metastore 服务 2,请完成以下某个标签页中的步骤:
控制台
在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。
点击页面顶部的备份 。
备份 页面会打开并显示您的计划备份。请注意,备份实际上存储在您在计划备份配置中提供的 Cloud Storage 存储桶中。
gcloud CLI
运行以下
gcloud storage ls命令:gcloud storage ls gs://BUCKET_NAME/SERVICE/LOCATION替换以下内容:
BUCKET_NAME:存储要查看的计划备份的 Cloud Storage 存储桶的路径。SERVICE:计划备份的 ID 或完全限定的标识符。LOCATION:您的 Dataproc Metastore 服务所在的 Google Cloud 区域。
REST
按照 API 说明使用 API Explorer 查看计划备份。
排查常见问题
- 服务代理或用户账号没有必要的权限。
- 如需获得有关解决常见问题排查问题的更多帮助, 请参阅 备份和恢复错误场景。