辅助版本

Dataproc Metastore 辅助版本是附加到主要 Dataproc Metastore 服务的 Hive Metastore 服务。辅助版本低于主要 Dataproc Metastore 版本。还有助于将 Hive Metastore 版本与使用不同版本 Hive Metastore 客户端库的不同数据处理引擎兼容。

何时使用辅助版本

借助辅助版本,您可以为使用 Hive Metastore 传输协议的其他端点提供早于 Dataproc Metastore 服务中元数据数据库架构的端点。这样您就可以在使用不同版本的 Hive Metastore 客户端库的数据处理引擎之间共享元数据。

辅助版本的工作原理

您可以选择为 Dataproc Metastore 服务指定其他 Hive Metastore 版本,这些版本随后会通过单独的端点公开。所有端点共享一个通用的元数据数据库。

元数据数据库架构版本与 Dataproc Metastore 服务的 Hive Metastore 主要版本匹配。为避免元数据架构出现向前兼容性问题,所有辅助版本都低于主要服务的版本。

每项 Dataproc Metastore 服务仅支持一个辅助版本。

您可以在创建或更新 Dataproc Metastore 服务时指定辅助版本。更新服务时,您可以添加或删除辅助版本。

使用 Dataproc Metastore 服务创建辅助版本

以下说明演示了如何使用 Dataproc Metastore 服务创建辅助版本。

控制台

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

    在 Cloud Console 中打开 Dataproc Metastore

  2. Dataproc Metastore 页面顶部,点击创建按钮。此时会打开创建服务页面。

  3. 根据需要配置服务。

  4. Auxiliary version config 下,启用辅助版本。

  5. 点击 Add Auxiliary Version

    1. 为您的辅助版本输入名称。

    2. 为您的辅助版本选择一个版本。

    3. 可选:要将映射应用于辅助版本,请点击 + 添加覆盖设置

    4. 点击完成

  6. 点击提交

gcloud

  1. 运行以下某个 gcloud beta metastore services create 命令
    ,以创建具有辅助版本的服务:

    gcloud beta metastore services create SERVICE \
        --location=LOCATION \
        --auxiliary-versions=AUXILIARY_VERSIONS, ...
    

    gcloud beta metastore services create SERVICE \
        --location=LOCATION \
        --auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
    

    替换以下内容:

    • SERVICE:新服务的名称
    • LOCATION:Google Cloud 区域
    • AUXILIARY_VERSIONS:要部署的辅助 Hive Metastore 版本列表(以英文逗号分隔)
    • AUXILIARY_VERSIONS_FROM_FILE:包含辅助版本配置的 YAML 文件的路径;如需了解详情并查看示例,请参阅 SDK 文档
  2. 验证创建操作是否成功。

curl

使用 create 方法创建 Dataproc Metastore 服务时,您可以使用该服务创建辅助版本:

   ```
     curl -X POST -s -i \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -d '{"network":"projects/PROJECT_ID/global/networks/default", "port": 9083, "hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION"} } } }' \
     -H "Content-Type:application/json" \
     https://metastore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/services?service_id=SERVICE_ID
   ```

使用 Dataproc Metastore 服务更新辅助版本

以下说明演示了如何使用 Dataproc Metastore 服务更新辅助版本。

控制台

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

    在 Cloud Console 中打开 Dataproc Metastore

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

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

  4. Auxiliary version config 下,启用或停用辅助版本。

  5. 如需删除您的辅助版本,请点击删除

  6. 如需添加新的辅助版本,请点击 Add Auxiliary Version

  7. 如需将映射应用于辅助版本,请点击 + 添加覆盖设置

  8. 点击提交

gcloud

  1. 运行以下 gcloud beta metastore services update 命令以使用 Private Service Connect 更新服务:

    gcloud beta metastore services update SERVICE \
       --location=LOCATION \
       --add-auxiliary-versions=AUXILIARY_VERSIONS, ...
    

    gcloud beta metastore services update SERVICE \
       --location=LOCATION \
       --update-auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
    

    替换以下内容:

    • SERVICE:服务的名称
    • LOCATION:Google Cloud 区域
    • AUXILIARY_VERSIONS:要部署的辅助 Hive Metastore 版本列表(以英文逗号分隔)
    • AUXILIARY_VERSIONS_FROM_FILE:包含辅助版本配置的 YAML 文件的路径;如需了解详情并查看示例,请参阅 SDK 文档
  2. 验证更新是否成功。

curl

使用 patch 方法更新 Dataproc Metastore 服务时,您可以使用该服务更新辅助版本:

 ```
   curl -X PATCH -s -i \
   -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -d '{"hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION} } } }' \
   -H "Content-Type:application/json" \
   https://metastore.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION/services/SERVICE_ID?update_mask=hive_metastore_config.auxiliary_versions
 ```

共享的行为和属性

下表列出了 Dataproc Metastore 服务的各种行为和属性,以及它们是在服务之间共享还是根据 Hive Metastore 版本复制。通常,与静态配置、元数据数据库和元数据本身相关的方面会共享。另一方面,会影响 Hive Metastore 元数据请求的请求路径的行为会按照 Hive Metastore 版本复制。

行为 按服务 按版本
端点
Hive 配置替换
Kerberos 配置
端点协议 (Thrift/gRPC)
节流端口
工件 Cloud Storage 存储桶
层级
维护时段
发布版本
加密配置
数据库类型
Data Catalog 同步切换开关
请求数指标

附加 Dataproc 集群

您可以使用辅助版本的端点 URI 和仓库目录关联使用 Dataproc Metastore 辅助版本作为其 Hive Metastore 的 Dataproc 集群。

如需详细了解如何关联 Dataproc 集群,请参阅使用 ENDPOINT_URIWAREHOUSE_DIR 关联 Dataproc 集群

辅助版本注意事项

辅助版本需要注意以下事项:

  • 辅助版本必须早于主要版本。

  • 每项 Dataproc Metastore 服务仅支持一个辅助版本。

  • Private Service Connect 配置不支持辅助版本。

  • 辅助版本不支持 Spanner 数据库类型。

  • 导入、导出、备份和恢复操作不适用于辅助版本。

  • 根据 Hive 版本,辅助版本中的某些 Hive Metastore 方法可能不适用于主要版本。

  • 辅助版本的日志与主要版本是分开的。您可以使用 Cloud Logging 来调试 Hive Metastore 问题。

后续步骤