- 概念
HiveServer2(HS2)是一个服务端接口,使远程客户端可以执行对Hive查询并返回结果。目前基于Thrift RPC的实现是HiveServer的改进版本,并支持多客户端并发和身份验证。 - Hive与hiveServer的关系
hiveserver是hive与client端的交换终端,client通过hiveserver构建查询语句,访问hadoop,并把数据通过hiveserver返回到client端 - hiveserver架构
hiveserver的核心是基于Thrift,Thrift负责hive的查询服务,Thtift是构建跨平台的rpc框架,主要由四层组成:server,Transport,Protocol和处理器
1 server
hiveserver 在TCP模式下使用TThreadPoolServer , 在HTTP下使用jetty server
server主要为每个tpc连接分配一个工作线程
2 Transport
如果客户端与服务器之间需要代码(安全原因),则需要http模式,通过hive配置属性 hive.server2.transport.mode指定Thrift服务的传输模式
3 Protocol
协议主要负责序列化和反序列化
4 处理器
处理请求的应用程序框架,实现了编译和执行hive查询的逻辑,负责准备各种执行引擎的物理执行计划 - 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 Server2
最新推荐文章于 2023-12-20 15:21:28 发布