1、hiveserver2
HiveServer2(HS2)是一种能使客户端执行Hive查询的服务。HiveServer2可以支持多客户端并发和身份认证。旨在为开发API客户端(eg:JDBC/ODBC) 提供更好的支持。HiveServer2单进程运行。
Hive客户端工具后续将使用Beeline 替代HiveCLI ,Beeline是Hive新的命令行客户端工具。
总结:就是启动了hiveserver2之后你可以用jdbc客户端进行连接操作!
特点:
1)在应用端不用部署Hadoop和Hive客户端;
2)相比hive-cli方式,HiveServer2不用直接将HDFS和Metastore暴漏给用户;
3)有安全认证机制,并且支持自定义权限校验;
4)有HA机制,解决应用端的并发和负载均衡问题;
5)JDBC方式,可以使用任何语言,方便与应用进行数据交互;
6)从2.0开始,HiveServer2提供了WEB UI。
2、Hiveserver2的运行模式
2.1 独立hiveserver2模式
1)将现有的所有hive的服务停止,不需要修改任何服务,在某一台机器上执行hiveserver2或者hive –service hiveserver2的命令,开始启动hiveserver2的服务,hiveserver2的服务也是一个阻塞式窗口,当开启服务后,会开启一个10000的端口,对外提供服务。
2.2 共享metastore server的hiveserver2模式
1)在某一台上执行hive –service metastore启动元数据服务
2)在另一台上执行hiveserver2或者hive –service hiveserver2两个命令其中一个都可以
2.3 hiveServer2的访问方式
在任意一台包含beeline脚本的虚拟机中执行beeline的命令进行连接
//(1)直接命令连接
$ beeline -u jdbc:hive2://<host>:<port>/<db> -n username
//(2)beeline进入到beeline的命令行
$ beeline
beeline> !connect jdbc:hive2://<host>:<port>/<db> username pwd