更新时间:2024-11-29 GMT+08:00

HiveServer租约隔离使用

操作场景

  • 此功能适用于Hive。
  • 开启此功能可以限定指定用户访问指定节点上的HiveServer服务,实现对用户访问HiveServer服务的资源隔离。

操作步骤

以对用户hiveuser设置租约隔离为例,选取Hive当前已有的或者新添加一个或者多个实例,此处选择已有的HiveServer实例:

  1. 登录FusionInsight Manager。
  2. 选择“集群 > 服务 > Hive > HiveServer”。
  3. 在HiveServer列表里选择设置租约隔离的HiveServer,选择“HiveServer > 实例配置 > 全部配置”。
  4. 在“全部配置”界面的右上角搜索“hive.server2.zookeeper.namespace”,“值”为具体设定值,比如为hiveserver2_zk。
  5. 单击“保存”,在弹出对话框单击“确定”。
  6. 选择“集群 > 服务 > Hive”,选择“更多 > 重启服务”,输入密码开始重启服务。
  7. 使用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.<系统域名>”为用户名,用户名所包含的系统域名所有字母为小写。