【Hive】HiveServer & HiveServer2 对比

本文详细对比了HiveServer1与HiveServer2的主要特性,包括并发性、安全性、远程访问能力及客户端连接方式。HiveServer2在Hive1.1中引入,相较于HiveServer1,提供了更好的并发处理能力、安全性增强,如支持Kerberos、自定义身份验证,同时改进了对JDBC、ODBC等开放API的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HiveServer1的限制:用户并发性(不能处理多余一个客户端的并发请求)、LDAP安全性、访问限制

HiveServer2在Hive1.1引入(HIVE-2935),提供更好的并发性、安全性、远程访问

 

HiveServer2 架构基于一个ThriftService和任意数量由驱动程序、编译器和执行器组成的会话。

MetaStore也是HiveServer2的一个重要组成部分。支持多客户端的并发和认证、支持Kerberos、自定义身份验证以及通过LDAP身份验证、为开放API客户端如JDBC、ODBC提供更好的支持

 

主要区别:

  • 服务器的连接:

Hive Cli 连接HiveServer1使用的是Thrift协议。因此。连接HiveServer1的时候需要指定可用的HiveServer1的主机名和可选的端口号。

hive -h <hostname> -p <port>

Beeline连接HiveServer2使用的是JDBC,和其它基于JDBC的客户端一样,连接参数是一个JDBC URL。

beeline –u <url> -n <username> -p <password>

Beeline下如果你想使用NOSASL 模式连接,你必须明确的指定验证模式。

beeline> !connect jdbc:hive2://<host>:<port>/<db>;auth=noSasl hiveuser pass org.apache.hive.jdbc.HiveDriver

 

  • 嵌入模式:

Hive Cli 和 Beeline 都可以使用嵌入模式连接HiveServer
Hive Cli使用嵌入模式,启动客户端的时候不需要任何连接参数:> hive
Beeline 使用嵌入模式需要指定jdbc url:> beeline -u jdbc:hive2://

即: 

HiveServer versionConnection URLDriver Class 
HiveServer2jdbc:hive2://:org.apache.hive.jdbc.HiveDriver
HiveServer1jdbc:hive://:org.apache.hadoop.hive.jdbc.HiveDriver


                                                           

  • 所依赖的jar包:

因为Beeline是基于JDBC的客户端工具,所以较Hive Cli 需要多依赖一个Hive JDBC 的jar包

 

总结:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值