HiveServer 简介
今天我们学习一下Hive 架构中的重要一员HiveServer2或者是HiveServer1,HiveServer2使得其他语言访问Hive 成为了可能,其他语言通过连接HiveServer2服务提供的接口进而访问Hive,HiveServer2还引入了一个客户端,那就是大名鼎鼎的BeeLine,BeeLine 是一个通过JDBC 访问Hive的shell 接口
其实我们在前面讲Hive的架构设计 的时候提到过,Hive 提供的另外一个shell 客户端,也就是我们常用的hive 命令的客户端它的设计是直接启动了一个org.apache.hadoop.hive.cli.CliDriver
的进程,这个进程其实主要包含了两块内容一个是提供给我们交互的cli ,另外一个就是我们的Driver 驱动引擎,这样的设计导致如果我们有多个客户端的情况下,我们就需要有多个Driver,但是我们通过HiveServer2连接的时候我们就可以共享Driver
,一方面可以简化客户端的设计降低资源损耗,另外一方面还能降低对MetaStore 的压力,减少连接的个数。