美文网首页
hiveserver2详解

hiveserver2详解

作者: jero_lei | 来源:发表于2018-12-04 16:34 被阅读0次

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)

相关文章

网友评论

      本文标题:hiveserver2详解

      本文链接:https://www.haomeiwen.com/subject/odfvcqtx.html