本页面介绍了如何创建 Dataproc Metastore 的备份 服务。
备份会为您的服务拍摄快照,保存其当前配置设置和所有存储的元数据。
创建备份后,您可以使用从备份恢复功能 使用保存的数据填充新的 Dataproc Metastore 服务 快照中
准备工作
所需的角色
如需获得备份 Dataproc Metastore 服务所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
要授予对 Dataproc Metastore 资源的完全控制权以完成备份,请执行以下任一操作:
-
元数据服务上的 Dataproc Metastore Editor (
roles/metastore.editor
)。 -
项目的 Dataproc Metastore 管理员 (
roles/metastore.admin
)。
-
元数据服务上的 Dataproc Metastore Editor (
-
如需授予对数据库和表的特定元数据的读取和修改权限,请使用元数据服务中的 Dataproc Metastore Metadata Operator (
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 服务,您可以创建和存储 一次多达 7 个备份。如果尝试超过 7 个备份, 进程失败。如果您想再创建一个备份,必须先手动 删除已存储的某个备份文件。
- 备份操作正在运行时,您无法更新 Dataproc Metastore 服务 - 例如,您无法更改 配置设置。不过,您仍然可以正常使用服务 例如从挂接的 Dataproc 或 自行管理的集群
- 您可以创建按不同 cron 间隔运行的计划备份, 例如每天
创建备份
要备份 Dataproc Metastore 服务,请完成 以下某个标签页:
控制台
在 Google Cloud 控制台中,打开 Dataproc Metastore 页面:
在 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
:该 Google Cloud 区域 Dataproc Metastore 服务所在的目录。SERVICE
:您的 Dataproc Metastore 服务。DESCRIPTION
:备份的说明。
验证您的服务是否已成功备份。
备份完成后,Dataproc Metastore 将 自动恢复为活动状态,而不管该状态是否 备份成功。
REST
按照 API 说明备份服务中的元数据 使用 APIs Explorer
备份完成后,Dataproc Metastore 将自动 恢复到活动状态,而不管备用 成功。
查看备份历史记录
查看 Dataproc Metastore 服务的备份历史记录 中,完成以下步骤:
- 在 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
:该 Google Cloud 区域 yourDataproc Metastore 服务驻留。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 说明创建计划备份 使用 APIs Explorer
更新计划备份
要更新配置了 计划备份,请完成以下任一标签页中的步骤:
控制台
在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。
在 Dataproc Metastore 页面上,点击相应服务的名称 您要安排备份的日期
在计划备份下,将开关设置为已启用。
在 location 下,选择您要使用哪个 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
:该 Google Cloud 区域 Dataproc Metastore 服务所在的目录。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 更新定期备份。
查看计划备份
要查看配置了 计划备份,请完成以下任一标签页中的步骤:
控制台
在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。
点击页面顶部的备份。
备份页面随即会打开并显示您已安排的备份。请注意, 备份实际上存储在 您在计划备份配置中提供的 ID。
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 说明查看定期备份 使用 APIs Explorer
排查常见问题
- 服务代理或用户账号没有必要的权限。
- 如需有关解决常见问题排查的更多帮助, 请参阅备份和恢复错误场景。