1、简介
Hive的hiveserver2服务的作用是提供jdbc/odbc接口,为用户提供远程访问Hive数据的功能
,例如用户期望在个人电脑中访问远程服务中的Hive数据,就需要用到Hiveserver2。
2、用户模拟功能
在远程访问Hive数据时,客户端并未直接访问Hadoop集群,而是由Hivesever2代理访问。由于Hadoop集群中的数据具备访问权限控制,所以此时需考虑一个问题:那就是访问Hadoop集群的用户身份是谁?
是Hiveserver2的启动用户?还是客户端的登录用户?
答案是都有可能,具体是谁,由Hiveserver2的hive.server2.enable.doAs
参数决定,该参数的含义是是否启用Hiveserver2用户模拟的功能。若启用,则Hiveserver2会模拟成客户端的登录用户去访问Hadoop集群的数据,不启用,则Hivesever2会直接使用启动用户访问Hadoop集群数据。模拟用户的功能,默认是开启的。
开启用户模拟功能:
生产环境,推荐开启用户模拟功能,因为开启后才能保证各用户之间的权限隔离。
3、配置hiveserver2
3.1修改hadoop配置hive-site.xml
vim $HADOOP_HOME/etc/hadoop/core-site.xml
<!--配置所有节点的root用户都可作为代理用户-->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<!--配置root用户能够代理的用户组为任意组-->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<!--配置root用户能够代理的用户为任意用户-->
<property>
<name>hadoop.proxyuser.root.users</name>
<value>*</value>
</property>
记得分发给其他hadoop节点
3.2 修改hive配置hive-site.xml
vim $HIVE_HOME/conf/hive-site.xml
<!-- 指定hiveserver2连接的host -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>hadoop100</value>
</property>
<!-- 指定hiveserver2连接的端口号 -->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
3.3重启hadoop
$HADOOP_HOME/sbin/stop-all.sh
$HADOOP_HOME/sbin/start-all.sh
3.4启动hiveserver2
$HIVE_HOME/bin/hive --service hiveserver2
后台挂起启动
nohup $HIVE_HOME/bin/hive --service hiveserver2 &
3.5连接
$HIVE_HOME/bin/beeline -u jdbc:hive2://hadoop100:10000 -n root
4、使用idea连接工具
文章来源:https://www.toymoban.com/news/detail-501096.html
也可以使用dbeaver作为客户端工具文章来源地址https://www.toymoban.com/news/detail-501096.html
到了这里,关于hive 入门 配置hiveserver2 (三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!