备份 Dataproc Metastore 服务

本页面介绍了如何创建 Dataproc Metastore 服务的备份。

备份会截取服务快照,以保存其当前配置设置和所有存储的元数据。

创建备份后,您可以使用从备份恢复功能,使用快照中保存的数据填充新的 Dataproc Metastore 服务。

准备工作

所需的角色

如需获取备份 Dataproc Metastore 服务所需的权限,请让管理员向您授予以下 IAM 角色:

  • 如需授予对 Dataproc Metastore 资源的完全控制权以完成备份,请执行以下任一操作:
  • 如需授予对数据库和表的特定元数据的读取和修改权限,请执行以下操作: 对元数据服务拥有 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 角色和权限,请参阅 Dataproc Metastore IAM 概览

备份注意事项

在运行备份操作之前,请注意以下事项:

  • 对于每项 Dataproc Metastore 服务,您一次最多可以创建和存储 7 个备份。如果您尝试超过 7 个备份,备份过程将失败。如果要创建另一个备份,必须先手动删除存储的某个备份文件。
  • 在备份操作运行时,您无法更新 Dataproc Metastore 服务,例如,不能更改配置设置。但是,您仍然可以使用服务进行正常操作,例如从关联的 Dataproc 或自行管理的集群访问元数据。
  • 您可以创建按各种 cron 间隔(例如每天)运行的计划备份。

创建备份

如需备份 Dataproc Metastore 服务,请完成以下任一标签页中的步骤:

控制台

  1. 在 Google Cloud 控制台中,打开 Dataproc Metastore 页面:

    打开 Dataproc Metastore

  2. Dataproc Metastore 页面上,点击要备份的服务的名称。

    服务详细信息页面会打开。

    “服务详细信息”页面
    图 1.Dataproc Metastore 服务详情页面
  3. 点击页面顶部的备份

    系统随即会打开备份页面。

  4. 输入备份名称

  5. 可选:输入备份的说明

  6. 如需开始备份操作,请点击备份

    返回 Dataproc Metastore 页面,并验证您的服务是否已成功备份。

    备份完成后,无论备份是否成功,Dataproc Metastore 都会自动返回到活跃状态

gcloud CLI

  1. 如需备份 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:备份说明。
  2. 验证您的服务是否已成功备份。

    备份完成后,无论备份是否成功,Dataproc Metastore 都会自动返回到活跃状态

REST

按照 API 说明使用 API Explorer 备份服务中的元数据

备份完成后,无论备份是否成功,Dataproc Metastore 都会自动返回到活跃状态

查看备份历史记录

如需在 Google Cloud 控制台中查看 Dataproc Metastore 服务的备份历史记录,请完成以下步骤:

  1. 在 Google Cloud 控制台控制台中,打开 Dataproc Metastore 页面。
  2. 点击导航栏中的备份/恢复

    您的备份历史记录会显示在备份下的一个表格中。

    历史记录最多可显示最新的 7 个备份。

    删除 Dataproc Metastore 服务会同时删除所有关联的备份历史记录。

删除备份

如需在 Google Cloud 控制台中删除 Dataproc Metastore 备份,请完成以下步骤:

  1. 在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。
  2. 点击导航栏中的备份/恢复
  3. 找到要删除的备份内容,然后点击设置按钮。
  4. 点击删除

安排备份

备份可以安排在用户指定的 cron 作业间隔运行,包括每天、每周或每月运行。Cron 时间表使用 unix-cron 字符串格式 (* * * * *),它是一行中由五个字段组成的集合,指示应何时执行作业。

例如,您可以设置每周创建备份的自定义时间间隔,如太平洋标准时间每周三下午 2:00 创建备份。

计划备份的注意事项

  • 计划备份需要指定备份位置,该位置必须是 Cloud Storage 路径。
  • 计划备份始终以 Avro 文件格式创建。
  • 默认情况下,计划备份按世界协调时间 (UTC) 时区配置。您可以在首次创建备份时更改时区。
  • 您可以将计划备份设置为每天、每周或每月运行一次。

创建计划备份

您可以在首次创建服务时设置备份时间表,也可以在以后更新服务时添加备份时间表。

如需创建具有计划备份的 Dataproc Metastore 服务 2,请完成以下任一标签页中的步骤:

控制台

  1. 在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。

  2. Dataproc Metastore 页面顶部,点击创建按钮。

    此时会打开创建服务页面。

  3. 选择 Dataproc Metastore 2

  4. 计划备份下,将切换开关设为启用

  5. 位置下,选择您要存储计划备份的 Cloud Storage 位置。

  6. 可选:在“时间安排”下,选择以下选项:

    1. 对于重复,请选择重复周期,例如每天每周
    2. 对于时间,选择重复发生的时间,例如午夜 12:00。
    3. 对于时区,选择相应的时区,例如 UTC-8
  7. 对于其余服务配置选项,请使用提供的默认值。

  8. 点击提交

gcloud CLI

  1. 如需安排 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:yourDataproc 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:包含备份配置值 enabledcront_scheduletime_zonebackup_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,请完成以下某个标签页中的步骤:

控制台

  1. 在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。

  2. Dataproc Metastore 页面上,点击要为其安排备份的服务的名称。

  3. 计划备份下,将切换开关设置为已启用

  4. 位置下,选择您要存储计划备份的 Cloud Storage 位置。

  5. 可选:在时间安排下,为以下字段选择值:

    1. 对于重复,请选择重复周期,例如每天每周
    2. 对于时间,选择重复发生的时间,例如午夜 12:00。
    3. 对于时区,选择相应的时区,例如 UTC-8

gcloud CLI

  1. 如需安排 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 Explorer,按照 API 说明更新计划备份

查看计划备份

如需查看配置了预定备份的 Dataproc Metastore 服务 2,请完成以下某个标签页中的步骤:

控制台

  1. 在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。

  2. 点击页面顶部的备份

    备份页面会打开并显示您的计划备份。请注意,备份实际存储在您在计划备份配置中提供的 Cloud Storage 存储桶中。

gcloud CLI

  1. 运行以下 gsutil ls 命令:

    gsutil ls gs://BUCKET_NAME/SERVICE/LOCATION
    

    替换以下内容:

    • BUCKET_NAME:用于存储要查看的计划备份的 Cloud Storage 存储桶的路径。
    • SERVICE:计划备份的 ID 或完全限定标识符。
    • LOCATION:您的 Dataproc Metastore 服务所在的 Google Cloud 区域。

REST

使用 API Explorer,按照 API 说明查看计划备份

排查常见问题

后续步骤