Java调用hiveServer2,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的关系

45ca74ec1e3f

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值