配置用户租约隔离访问指定节点的HiveServer
Hive用户租约隔离即可以限定指定用户访问指定节点上的HiveServer服务,实现对用户访问HiveServer服务的资源隔离。
操作步骤
以对用户hiveuser设置租约隔离为例,选取Hive当前已有的或者新添加一个或者多个实例,此处选择已有的HiveServer实例:
- 登录FusionInsight Manager,选择“集群 > 服务 > Hive > 实例”。
- 在Hive实例列表中选择需要设置租约隔离的HiveServer,选择“实例配置 > 全部配置”。
- 在“全部配置”界面的右上角搜索“hive.server2.zookeeper.namespace”,“值”为具体设定值,比如为hiveserver2_zk。
- 单击“保存”,在弹出对话框单击“确定”。
- 返回实例页面,单击“概览”,在概览页面选择“更多 > 重启服务”,输入当前用户密码,单击“确定”开始重启服务。
- 以客户端安装用户登录安装了Hive客户端的节点,执行以下命令:
cd 客户端安装目录
source bigdata_env
kinit Hive业务用户(如果集群未开启Kerberos认证,请跳过该操作)
- 执行以下命令使用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.<系统域名>”表示用户名,用户名所包含的系统域名的所有字母为小写。
执行命令时将“10.5.159.13”替换为任意一个ZooKeeper实例的IP地址,查找方式为“集群 > 待操作集群的名称 > 服务 > ZooKeeper > 实例”。
“zooKeeperNamespace=”后面的
以上命令执行后将只会登录到被设置租约隔离的HiveServer上。开启本功能后,必须在登录时使用以上命令才可以访问被设置租约隔离的HiveServer。如果直接使用beeline命令登录客户端,将只会访问其他没有被设置租约隔离的HiveServer。