更新时间:2024-10-16 GMT+08:00
分享

配置用户租约隔离访问指定节点的HiveServer

Hive用户租约隔离即可以限定指定用户访问指定节点上的HiveServer服务,实现对用户访问HiveServer服务的资源隔离。

操作步骤

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

  1. 登录FusionInsight Manager,选择“集群 > 服务 > Hive > 实例”。
  2. 在Hive实例列表中选择需要设置租约隔离的HiveServer,选择“实例配置 > 全部配置”。

  3. 在“全部配置”界面的右上角搜索“hive.server2.zookeeper.namespace”,“值”为具体设定值,比如为hiveserver2_zk。

  4. 单击“保存”,在弹出对话框单击“确定”。
  5. 返回实例页面,单击“概览”,在概览页面选择“更多 > 重启服务”,输入当前用户密码,单击“确定”开始重启服务。
  6. 以客户端安装用户登录安装了Hive客户端的节点,执行以下命令:

    cd 客户端安装目录

    source bigdata_env

    kinit Hive业务用户(如果集群未开启Kerberos认证,请跳过该操作)

  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上。
    • 开启本功能后,必须在登录时使用以上命令才可以访问这个被设置租约隔离的HiveServer。如果直接使用beeline命令登录客户端,将只会访问其他没有被设置租约隔离的HiveServer。
    • 用户可登录FusionInsight Manager,选择“系统 > 权限 > 域和互信”,查看“本端域”参数,即为当前系统域名。“hive/hadoop.<系统域名>”为用户名,用户名所包含的系统域名所有字母为小写。

相关文档