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是需要有这个库,不然会报错!!!
连接成功如下: