配置用户租约隔离访问指定节点的HiveServer
操作场景
- 此功能适用于Hive。
- 开启此功能可以限定指定用户访问指定节点上的HiveServer服务,实现对用户访问HiveServer服务的资源隔离。
本章节适用于MRS 3.x及后续版本。
操作步骤
以对用户hiveuser设置租约隔离为例,选取Hive当前已有的或者新添加一个或者多个实例,此处选择已有的HiveServer实例:
- 登录FusionInsight Manager,具体请参见访问FusionInsight Manager(MRS 3.x及之后版本)。
- 选择“集群 > 待操作集群的名称 > 服务 > Hive > HiveServer”。
- 在HiveServer列表里选择设置租约隔离的HiveServer,选择“HiveServer > 实例配置 > 全部配置”。
- 在“全部配置”界面的右上角搜索“hive.server2.zookeeper.namespace”,“值”为具体设定值,比如为hiveserver2_zk。
- 单击“保存”,在弹出对话框单击“确定”。
- 选择“集群 > 待操作集群的名称 > 服务 > Hive”,选择“更多 > 重启服务”,输入密码开始重启服务。
- 使用beeline -u 的方式登录客户端,执行以下命令:
beeline -u "jdbc:hive2://10.5.159.13:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2_zk;sasl.qop=auth-conf;auth=KERBEROS;principal=hive/hadoop.<系统域名>@<系统域名>"
执行命令时将“10.5.159.13”替换为任意一个ZooKeeper实例的IP地址,查找方式为“集群 > 待操作集群的名称 > 服务 > ZooKeeper > 实例”。
“zooKeeperNamespace=”后面的“hiveserver2_zk”为4中参数“hive.server2.zookeeper.namespace”设置的具体设定值。
结果将只会登录到被设置租约隔离的HiveServer。- 开启本功能后,必须在登录时使用以上命令才可以访问这个被设置租约隔离的HiveServer。如果直接使用beeline命令登录客户端,将只会访问其他没有被设置租约隔离的HiveServer。
- 用户可登录FusionInsight Manager,选择“系统 > 权限 > 域和互信”,查看“本端域”参数,即为当前系统域名。“hive/hadoop.<系统域名>”为用户名,用户名所包含的系统域名所有字母为小写。