hiveserver2详解
1. hiveServer解释
官⽅解释:
HiveServer2 (HS2) is a server interface that enables remote clients to execute queries against Hive and retrieve the results (a more detailed intro here).
The current implementation, based on Thrift RPC, is an improved version of HiveServer and supports multi-client concurrency and authentication.
HiveServer2(HS2)是⼀个服务端接⼝,使远程客户端可以执⾏对Hive的查询并返回结果。⽬前基于Thrift RPC的实现是HiveServer的改进版本,并⽀持多客户端并发和⾝份验证
2.hiveserver与hive的关系
hive与hiveserver关系图
从图中看出 hiveserver是hive与client端的交换终端,client通过hiveserver构建查询语句,访问hadoop,并把数据通过hiveserver返回到client端
3.hiveserver架构
thrifthiveserver的核⼼是基于Thrift,Thrift负责hive的查询服务,Thtift是构建跨平台的rpc框架,主要由四层组成:
server,Transport,Protocol和处理器
3.1 server
hiveserver 在TCP模式下使⽤TThreadPoolServer , 在HTTP下使⽤jetty server
server主要为每个tpc连接分配⼀个⼯作线程
3.2 Transport
如果客户端与服务器之间需要代码(安全原因),则需要http模式,通过hive配置属性 de指定Thrift服务的传输模式
3.3 Protocol
协议主要负责序列化和反序列化
3.4 处理器
处理请求的应⽤程序框架,实现了编译和执⾏hive查询的逻辑,负责准备各种执⾏引擎的物理执⾏计划
4.hiveserver的访问⽅式
1 hive 命令⾏模式,直接输⼊/hive/bin/hive的执⾏程序,或者输⼊ hive --service cli
2 hive web界⾯的 (端⼝号9999) 启动⽅式 hive –service hwi & ⽤于通过浏览器来访问hive,感觉没多⼤⽤途
3 hive 远程服务 (端⼝号10000) 启动⽅式
hive --service hiveserver & 或者 hive --service hiveserver 10000>/dev/null 2>/dev/null &
beeline⽅式连接:beeline -u jdbc:hive2//localhost:10000/default -n root -p 123456 或者java client⽅式连接
备注:连接Hive JDBC URL:jdbc:hive://192.168.6.116:10000/default (Hive默认端⼝:10000 默认数据库名:default)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论