hive提供了thrift服务,只要客户端符合thrift标准就可以与它对接。
这样可以以在一台服务器上启动一个hive,其他用户通过thrift访问hive。
hive自带了一个thrift的客户端-------bin/beeline
启动方式:
1、hadoop的core-site.xml增加配置
<property><name>hadoop.proxyuser.root.groups</name><value>*</value>
</property>
如果是 <value>*</value> 就是所有用户<property><name>hadoop.proxyuser.root.hosts</name><value>*</value>
</property>
这里配置了所有ip都允许代理访问。如果不允许,则配置IP地址
2、启动hive的hiveserver2
命令:[hadoop@nbdo3 bin]$ hiveserver2
后台使用:http://blog.csdn.net/zengmingen/article/details/78392307
3、在其他机子上,或者新开连接,使用beeline
我是clone session
[hadoop@nbdo3 ~]$ beeline
4、连接hiveserver2
beeline>!connect jdbc:hive2://nbdo3:10000
(nbdo3是hiveserver2所启动的那台主机名,端口默认是10000)
beeline> !connect jdbc:hive2://nbdo3:10000
Connecting to jdbc:hive2://nbdo3:10000
Enter username for jdbc:hive2://nbdo3:10000: hadoop
Enter password for jdbc:hive2://nbdo3:10000:
Connected to: Apache Hive (version 2.1.0)
Driver: Hive JDBC (version 2.1.0)
17/03/11 12:34:29 [main]: WARN jdbc.HiveConnection: Request to set autoCommit to false; Hive does not support autoCommit=false.
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://nbdo3:10000>
0: jdbc:hive2://nbdo3:10000> show databases;
+----------------+--+
| database_name |
+----------------+--+
| default |
| zengmg |
+----------------+--+
2 rows selected (0.495 seconds)
0: jdbc:hive2://nbdo3:10000>
如果不配置第一步,会报错:
User: hadoop is not allowed to impersonate hadoop (state=,code=0)
意思是:hadoop用户不允许访问hadoop默认用户。
-------------
更多的Java,Angular,Android,大数据,J2EE,Python,数据库,Linux,Java架构师,:
http://www.cnblogs.com/zengmiaogen/p/7083694.html