
# 配置用户租约隔离访问指定节点的HiveServer
#### 操作场景
Hive用户租约隔离即可以限定指定用户访问指定节点上的HiveServer服务，实现对用户访问HiveServer服务的资源隔离。
#### 操作步骤
以对用户**hiveuser**设置租约隔离为例，选取Hive当前已有的或者新添加一个或者多个实例，此处选择已有的HiveServer实例：
1. 登录FusionInsight Manager，选择"集群 \> 服务 \> Hive \> 实例"。
2. 在Hive实例列表中选择需要设置租约隔离的HiveServer，选择"实例配置 \> 全部配置"。 
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001676747694.png "点击放大")
   
   
3. 在"全部配置"界面的右上角搜索"hive.server2.zookeeper.namespace"，"值"为具体设定值，例如为"hiveserver2_zk"。用于指定对应HiveServer2在Zookeeper中使用的命名空间。
   
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001676907414.png "点击放大")
   
   
4. 单击"保存"，在弹出对话框单击"确定"。
5. 返回实例页面，单击"概览"，在概览页面选择"更多 \> 重启服务"，输入当前用户密码，单击"确定"开始重启服务。
6. 以客户端安装用户登录安装了Hive客户端的节点，执行以下命令： 
   切换到客户端安装目录：
   ```
   cd 客户端安装目录
   ```
   加载环境变量：
   ```
   source bigdata_env
   ```
   认证用户，如果集群未启用Kerberos认证，请跳过该操作：
   ```
   kinit Hive业务用户
   ```
   
   
7. 执行以下命令使用**beeline -u** 方式登录Hive客户端：
   
   ```
   beeline -u "jdbc:hive2://任一ZooKeeper实例IP地址:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2_zk;sasl.qop=auth-conf;auth=KERBEROS;principal=hive/hadoop.<系统域名>@<系统域名>"
   ```
   其中：
   - ZooKeeper实例的IP地址可登录FusionInsight Manager界面，选择"集群 \> 服务 \> ZooKeeper \> 实例"查看。
   
   - "*hiveserver2_zk* "为[3]中参数"hive.server2.zookeeper.namespace"设置的具体值。
   
   - 系统域名可登录FusionInsight Manager，选择"系统 \> 权限 \> 域和互信"，查看"本端域"参数获取。
   
   - "hive/hadoop.\<系统域名\>"表示用户名，用户名所包含的系统域名的所有字母为小写。
   
   
   以上命令执行后将只会登录到被设置租约隔离的HiveServer上。
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
   开启本功能后，必须在登录时使用以上命令才可以访问被设置租约隔离的HiveServer。如果直接使用**beeline**命令登录客户端，将只会访问其他没有被设置租约隔离的HiveServer。
   
   
 
