Hive使用HiveServer2服务端配置、启动允许远程连接

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xp_lx1/article/details/99634300

1、hive  命令行模式

      直接输入./hive/bin/hive的执行程序,或者输入 hive –service cli 用于linux平台命令行查询,查询语句基本跟MySQL查询语句类似。

2、jdbc远程连接hiveserver2

(1)、hiveserver2增加了权限控制,需要在hadoop的配置文件中配置增加权限。

在hadoop的core-site.xml中添加如下内容,然后重启hadoop,再使用beeline连接即可。

参考官网: 

https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/Superusers.html

<property>
    <name>hadoop.proxyuser.user.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.user.groups</name>
    <value>*</value>
</property>

其中user是hadoop用户,再次启动hadoop即可。

如果不配置:将汇报如下错误:

Error: Could not open client transport with JDBC Uri: jdbc:hive2://192.168.124.131:10000/hive_metadata;user=hadoop: java.net.ConnectException: 拒绝连接 (Connection refused) (state=08S01,code=0)
Beeline version 3.1.1 by Apache Hive

 (2)、配置hive

 在hive-site.xml中加入配置信息,ip需要修改。

<property>
	<name>hive.server2.thrift.port</name>
    <value>10000</value>
</property>
<property>
 	<name>hive.server2.thrift.bind.host</name>
    <value>192.168.124.131</value>
</property>

先启动元数据库,在命令行中键入:hive --service metastore & 

接下来开启hiveserver2服务:
在命令行中键入:hive --service hiveserver2 &
注意查看日志是否报错。

(3)使用beeline 连接测试

beeline -u jdbc:hive2://192.168.124.131:10000/userdb-n user -p

 在hive-site.xml文件中配置的username和password。如果没有配置只需要在hadoop配置是的用户user即可,密码可以不用输入,确定下一步即可。

注:这里的javaapidb是需要有这个库,不然会报错!!! 

连接成功如下:

展开阅读全文

没有更多推荐了,返回首页