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架构

hiveserver的核心是基于Thrift,Thrift负责hive的查询服务,Thtift是构建跨平台的rpc框架,主要由四层组成:server,Transport,Protocol和处理器

3.1 server

 hiveserver 在TCP模式下使用TThreadPoolServer , 在HTTP下使用jetty server

 server主要为每个tpc连接分配一个工作线程

3.2 Transport

如果客户端与服务器之间需要代码(安全原因),则需要http模式,通过hive配置属性 hive.server2.transport.mode指定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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容