
# 配置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请求失败   
      ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002553971337.png "点击放大") 
   
   
   
   
 
