【大数据之Hive】五、Hiveserver2服务部署

Hiveserver2提供JDBC/ODBC接口,允许用户远程通过客户端访问Hadoop集群。它需要部署在可访问集群的节点上,处理客户端提交的SQL语句,与HDFS和Yarn交互。用户模拟功能允许Hiveserver2模拟客户端用户身份访问集群,确保权限隔离。部署Hiveserver2涉及Hadoop和Hive的配置,包括设置代理用户和启动配置。测试连接可通过命令行工具如beeline或图形化客户端如Datagrip进行。

hiveserver2服务

  hiveserver2提供JDBC/ODBC接口,使得用户可以远程访问Hive数据,即作为客户端的代理与Hadoop集群进行交互。

  hiveserver2部署时需要部署到一个能访问集群的节点上,保证能够直接往Hadoop上提交数据。
在这里插入图片描述
  用户在客户端提交SQL语句时,由hiveserver请求HDFS或者提交计算任务到Yarn上,再由hiveserver2将结果返回给客户端。

(1)用户说明:

  用户即由hiveserver2代理进行远程访问Hadoop集群的用户。

  因为Hadoop集群中的数据由访问权限控制,设置了hive.server2.enable.doAs(表示是否启用Hiveserver2用户模拟功能)参数控制访问Hadoop集群的用户身份。

  参数value值为true时启用(默认开启),即Hiveserver2会模拟客户端的登录用户访问Hadoop集群;参数value值为fault时,会直接使用Hiveserver2进程的启动用户访问Hadoop集群数据。

未开启用户模拟功能:
在这里插入图片描述
  因为没启用用户模拟功能,所以在用户登录使用时,都是由Hiveserver2的启动进程的用户与Hadoop集群进行交互。

开启用户模拟功能:

  在开启用户模拟时,用户登录,Hiveserver会模拟登录的用户与Hadoop集群进行交互。
  在生产环境中要启用用户模拟功能,只有开启用户模拟功能之后才能保证用户的权限隔离。

(2)Hiveserver2部署

(i)Hadoop端配置

  hivesever2的模拟用户功能,依赖于Hadoop提供的proxy user(代理用户功能),只有Hadoop中的代理用户才能模拟其他用户的身份访问Hadoop集群。

  需要将hiveserver2的启动用户设置为Hadoop的代理用户。

Hadoop中的core-site.xml中添加,之后分发文件并重启集群:

cd HADOOP_HOME/etc/hadoop
vim core-site.xml

#添加以下
<!--配置所有节点(host节点)的liaoyanxia用户都可作为代理用户,value为具体节点的主机-->
<property>
    <name>hadoop.proxyuser.liaoyanxia.hosts</name>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值