管理服务

本页面介绍如何更新和删除现有 Dataproc Metastore 服务。

准备工作

  • 大多数 gcloud metastore 命令需要位置信息。您可以使用 --location 标志指定位置,也可以通过设置默认位置来指定位置。

访问权限控制

  • 如需更新和删除服务,您必须请求分别具有 metastore.services.updatemetastore.services.delete IAM 权限的 IAM 角色。Dataproc Metastore 特定角色 roles/metastore.adminroles/metastore.editor 拥有更新和删除权限。

  • 您可以使用 roles/ownerroles/editor 旧版角色为用户或群组授予更新和删除权限。

如需了解详情,请参阅 Dataproc Metastore IAM 和访问权限控制

更新服务

您可以通过以下方式更新服务:在本地浏览器中打开的“服务详细信息”页面的“配置”标签页上修改服务参数、使用 Cloud SDK 的 gcloud 命令行工具,或者调用 Dataproc Metastore API 方法 services.patch

一次只能运行一个更新作业,每个作业可以更新多个属性。服务更新期间,您仍可以使用该服务。

您可以更新以下服务参数:

  • 端口号
  • 服务层级
  • Data Catalog 同步
  • 维护期
  • Kerberos 字段
  • Hive Metastore 配置
  • 标签

如果您要更改无法更新的服务参数,则必须重新创建服务。

以下说明介绍了如何更新 Dataproc Metastore 服务:

控制台

  1. 在 Cloud Console 中,打开 Dataproc Metastore 页面:

    在 Cloud Console 中打开 Dataproc Metastore

  2. Dataproc Metastore 页面上,点击您要更新的服务的名称。该服务的服务详细信息页面会打开。

    “服务详细信息”页面
  3. 配置标签页下,点击修改按钮。此时会打开修改服务页面。

  4. 选择更新的服务参数值。

  5. 点击提交按钮以更新服务。

  6. 确认您已返回 Dataproc Metastore 页面,并且更新后的服务显示在列表中。

gcloud

  1. 运行以下 gcloud metastore services update 命令以更新服务:

    gcloud metastore services update SERVICE \
        --location=LOCATION \
        --port=PORT \
        --tier=TIER \
        --maintenance-window-day=MAINTENANCE_WINDOW_DAY \
        --maintenance-window-hour=MAINTENANCE_WINDOW_HOUR \
        --kerberos_principal=KERBEROS_PRINCIPAL \
        --keytab=KEYTAB \
        --krb5-config=KRB5_CONFIG \
        --update-hive-metastore-configs-from-file=[KEY=VALUE, ...] \
        --clear-hive-metastore-configs \
        --remove-hive-metastore-configs=[KEY, ...] \
        --update-labels=[KEY=VALUE, ...] \
        --clear-labels \
        --remove-labels=[KEY, ...]
    
    • --update-hive-metastore-configs-from-file:如果变量存在,则系统会更新其值;否则,系统会创建一个新变量。
    • --clear-hive-metastore-configs:如果同时设置了 update-hive-metastore-configs-from-file,则系统会执行此操作。

    请替换以下内容:

    • SERVICE:服务的名称。
    • LOCATION:表示 Google Cloud 区域。
    • PORT(可选):提供 Dataproc Metastore Thrift 接口的 TCP 端口。
    • TIER:服务的层级容量。
    • MAINTENANCE_WINDOW_DAY:用周几来表示的维护期开始时间。
    • MAINTENANCE_WINDOW_HOUR:用整点时刻来表示的维护期开始时间。
    • KERBEROS_PRINCIPAL(可选):keytab 和 KDC 中存在的 Kerberos 主帐号。典型的主帐号格式为“primary/instance@REALM”,但系统没有规定确切的格式。
    • KEYTAB(可选):可用于通过 Kerberos 密钥分发中心对服务主帐号进行身份验证的 Kerberos keytab 文件。
    • KRB5_CONFIG(可选):krb5.config 文件指定 KDC 和 Kerberos 大区信息,其中包括 KDC 的位置以及大区和 Kerberos 应用的默认值。
    • [KEY, ...](可选):使用的 Hive Metastore 配置。
    • [KEY=VALUE, ...](可选):使用的标签或 Hive Metastore 键值对配置。
  2. 验证更新是否成功。

REST

按照 API 说明使用 API Explorer 更新服务

更新成功后,服务会自动进入活跃状态。如果更新失败,则服务会回滚到之前的正常状态。

删除服务

您可以通过以下方式删除服务:在本地浏览器中打开的“服务详细信息”页面上单击“删除”、使用 Cloud SDK 的 gcloud 命令行工具,或者调用 Dataproc Metastore API 方法 services.delete

如果配置(例如服务名称、网络或 Hive Metastore 版本)不正确并且无法更改,则您可能需要删除服务。

以下说明介绍了如何删除 Dataproc Metastore 服务:

控制台

  1. 在 Cloud Console 中,打开 Dataproc Metastore 页面:

    在 Cloud Console 中打开 Dataproc Metastore

  2. 通过选中服务名称左侧的复选框来选择服务。

  3. Dataproc Metastore 页面顶部,点击删除以删除服务。

  4. 在对话框中,点击删除以确认删除。

您也可以在“服务详细信息”页面上删除您的服务。

  1. Dataproc Metastore 页面上,点击您要删除的服务的名称。该服务的服务详细信息页面会打开。

    “服务详细信息”页面
  2. 在页面顶部的配置标签页下,点击删除服务

  3. 在对话框中,点击删除以确认删除。

  4. 确认您已返回 Dataproc Metastore 页面,并且已删除的服务不再显示在列表中。

gcloud

  1. 运行以下 gcloud metastore services delete 命令删除服务:

    gcloud metastore services delete SERVICE \
        --location=LOCATION
    

    替换以下内容:

    • SERVICE:新服务的名称。
    • LOCATION:表示 Google Cloud 区域。
  2. 验证删除操作是否成功。

REST

按照 API 说明使用 API Explorer 删除服务

所有删除操作都会立即成功执行。

后续步骤