更新时间:2026-06-13 GMT+08:00
分享

配置MetaStore拦截低版本客户端请求

操作场景

Spark、Flink、Hive执行hcat等任务可不经过服务端,直接通过客户端提交任务;开启此功能后,MRS内部组件仍能正常提供服务,低版本客户端访问MetaStore的请求将被拦截。

约束与限制

  • MRS集群内涉及连接MetaStore的组件列表为:Spark、Flink、Loader、Ranger、Hive、HetuEngine、Doris。
  • 对接CDM、DataArts、DWS的集群不支持此功能,开启后将导致相关业务异常。
  • 开启此功能可能导致低版本客户端连接MetaStore请求失败,请谨慎操作。
  • 该章节仅适用于MRS 3.6.0-LTS.1及之后版本。

操作步骤

  1. 登录Manager页面,选择“集群 > 服务 > Hive > 配置 > 全部配置”,在搜索框中搜索“metastore-ext.client.compatible”,配置以下参数:

    • metastore-ext.client.compatible.enable:是否拦截低版本MetaStore客户端的请求。
      • true:开启拦截低版本MetaStore客户端的请求功能。开启后可能导致低版本客户端提交的业务失败,请谨慎操作。
      • false(默认值):关闭拦截低版本MetaStore客户端的请求功能。
    • metastore-ext.client.compatible.version:开启拦截低版本MetaStore客户端功能后,允许连接的MetaStore客户端版本,多个版本使用逗号分隔。

  2. 单击“保存”保存配置。
  3. 单击“实例”,勾选所有MetaStore实例,选择“更多 > 重启实例”,输入当前用户密码并单击“确定”重启所有MetaStore实例。
  4. 验证开启此功能后,是否成功拦截低版本MetaStore客户端请求。

    1. 登录低版本Hive客户端所在节点。
    2. 切换至客户端安装目录:
      cd 客户端安装目录
    3. 配置环境变量:
      source bigdata_env
    4. 认证用户,集群未启用Kerberos认证(普通模式)请跳过该操作:
      kinit 组件业务用户
    5. 执行以下命令连接MetaStore:
      hcat -e "show tables"

      连接MetaStore请求将失败,回显信息如下:

      图1 连接MetaStore请求失败

相关文档