[Hive]HiveServer2配置
HiveServer2(HS2)是一个服务器接口,能使远程客户端执行Hive查询,并且可以检索结果。HiveServer2是HiveServer1的改进版,HiveServer1已经被废弃。HiveServer2可以支持多客户端并发和身份认证。旨在为开放API客户端(如JDBC和ODBC)提供更好的支持。
这篇文章将介绍如何配置服务器端。如何使用客户端与此服务器端交互将在下篇文章中介绍。
备注
Hive 0.11版本引入. See HIVE-2935.
1. 配置
1.1 hive-site.xml中配置
hive.server2.thrift.min.worker.threads – 最小工作线程, 默认为 5.
hive.server2.thrift.max.worker.threads – 最大工作线程, 默认为 500.
hive.server2.thrift.port – 监听的TCP端口号, 默认为 10000.
hive.server2.thrift.bind.host – 绑定的TCP接口.
其他的选项可以参考 HiveServer2 in the Configuration Properties document
1.2 可选环境设置
HIVE_SERVER2_THRIFT_BIND_HOST – 绑定到的TCP host接口(可选)。覆盖配置文件设置。
HIVE_SERVER2_THRIFT_PORT – 要监听的TCP端口号(可选),默认为10000.覆盖配置文件设置。
1.3 HTTP模式运行
HiveServer2支持通过HTTP传输发送Thrift RPC消息(Hive 0.13版本开始,参见HIVE-4752)。这对于支持客户端和服务器之间需要代理时非常有用(例如,为了负载均衡或安全原因)。目前,可以在TCP模式或HTTP模式下运行HiveServer2,但不能同时运行HiveServer2。对于相应的JDBC URL,请参考:HiveServer2客户端 - JDBC连接URL。 使用以下设置启用和配置HTTP模式:
| 设置 | 默认值 | 描述 |
|---|---|---|
| hive.server2.transport.mode | binary | 设置为http以启用HTTP传输模式 |
| hive.server2.thrift.http.port | 10001 | 需要监听的HTTP端口 |
| hive.server2.thrift.http.max.worker.threads | 500 | 最大工作线程 |
| hive.server2.thrift.http.min.worker.threads | 5 | 最小工作线程 |
| hive.server2.thrift.http.path | cliservice | 服务端点 |
1.4 可选的全局初始化文件
全局初始化文件可以放置在hive.server2.global.init.file.location在配置的位置(Hive 0.14开始版本,参见HIVE-5160,HIVE-7497和HIVE-8138)。 这可以是初始化文件本身的路径,也可以是一个名为.hiverc的初始化文件目录。
初始化文件列出了将为此HiveServer2实例的用户运行的一组命令,例如注册一组标准的jar和函数。
1.5 日志记录配置
Beeline客户端可以获取HiveServer2操作日志(Hive 0.14开始版本)。配置日志记录一些参数如下:
hive.server2.logging.operation.enabled 默认为true,表示HiveServer2将为客户端保存操作日志
hive.server2.logging.operation.log.location 如果启用此功能,则存储操作日志到顶级目录中。
hive.server2.logging.operation.verbose (Hive 0.14 到 1.1)如果为true,则可以为客户端提供HiveServer2操作日志。 在Hive 1.2.0中替换为hive.server2.logging.operation.level。
hive.server2.logging.operation.level (Hive 1.2 开始版本) 可以设置HiveServer2操作日志级别
2. 如何开始
$HIVE_HOME/bin/hiveserver2
或者
$HIVE_HOME/bin/hive --service hiveserver2
2.1 使用信息
-H或--help选项显示使用消息,例如:
$HIVE_HOME/bin/hive --service hiveserver2 -H
Starting HiveServer2
usage: hiveserver2
-H,--help Print help information
--hiveconf <property=value> Use value for given property
3. Web UI
备注
Hive 2.0.0版本引入.
HiveServer2的Web用户界面(UI)提供配置,日志记录,度量(metrics)和活动会话信息。 默认情况下,Web UI可以在端口10002(127.0.0.1:10002)上使用。
- 可以在
hive-site.xml中自定义Web UI的配置属性,其中包括hive.server2.webui.host,hive.server2.webui.port,hive.server2.webui.max.threads等。 - Hive Metrics可以通过使用
Metrics Dump选项卡查看。 - 可以使用
本地日志选项卡查看日志。
该接口目前正在HIVE-12338上开发。

4. Python 客户端驱动程序
HiveServer2的Python客户端驱动程序可在https://github.com/BradRuderman/pyhs2 上获得(谢谢Brad)。它包括所有必需的软件包,如SASL和Thrift包装器(wrappers)。
该驱动程序已被认证可用于Python 2.6及更高版本。
要使用pyhs2驱动程序:
pip install pyhs2
然后:
import pyhs2
with pyhs2.connect(host='localhost',
port=10000,
authMechanism="PLAIN",
user='root',
password='test',
database='default') as conn:
with conn.cursor() as cur:
#Show databases
print cur.getDatabases()
#Execute query
cur.execute("select * from table")
#Return column info from query
print cur.getSchema()
#Fetch table results
for i in cur.fetch():
print i
原文:https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2
[Hive]HiveServer2配置的更多相关文章
- Hadoop之Hive(2)--配置Hive Metastore
Hive metastore服务以关系性数据库的方式存储Hive tables和partitions的metadata,并且提供给客户端访问这些数据的metastore service的API.下面介 ...
- hive权限配置
基于CDH5.x的Hive权限配置 1.打开权限控制,默认是没有限制的 set hive.security.authorization.enabled=true; 2.配置默认权限 hive.secu ...
- Hive的配置| 架构原理
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能. 本质是:将HQL转化成MapReduce程序 1)Hive处理的数据存储在HDFS 2)Hi ...
- [Hive]HiveServer2概述
1. HiveServer1 HiveServer是一种可选服务,允许远程客户端可以使用各种编程语言向Hive提交请求并检索结果.HiveServer是建立在Apache ThriftTM(http: ...
- Hive安装配置指北(含Hive Metastore详解)
个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...
- 【转】 hive安装配置及遇到的问题解决
原文来自: http://blog.csdn.net/songchunhong/article/details/51423823 1.下载Hive安装包apache-hive-1.2.1-bin.ta ...
- 038 关于HIVE的配置
一:常用版本 1.版本 0.13.1 2014年 1.2.1 2015年 版本之间的区别:支持SQL不同,向关系型数据库靠拢. 目前看到的版本是2.3.2了. 2.官网 二:安装配置hive 1. ...
- Mac上Hive安装配置
Mac上Hive安装配置 1.安装 下载hive,地址:http://mirror.bit.edu.cn/apache/hive/ 之前我配置了集群,tjt01.tjt02.tjt03,这里hive安 ...
- Hive的配置详解和日常维护
Hive的配置详解和日常维护 一.Hive的参数配置详解 1>.mapred.reduce.tasks 默认为-1.指定Hive作业的reduce task个数,如果保留默认值,则Hive 自 ...
随机推荐
- String与反序
将String类型的字符串里的内容进行反序排列得到一个新的String类型字符串,下面提供两种方法实现: 法1.先将原String类型字符串转换为字符数组,通过字符数组来操作各个位上的单个字符,通过对 ...
- CNN学习笔记:卷积神经网络
CNN学习笔记:卷积神经网络 卷积神经网络 基本结构 卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像.音频等.卷积神经网络通过卷积(convolution)操作.汇合(pooling)操作 ...
- js自执行函数&扩展方法
我们通常将JS代码写在一个单独的JS文件中,然后在页面中引入该文件.但是,有时候引入后会碰到变量名或函数名与其它JS代码冲突的问题.那么如何解决这个问题呢?作用域隔离.在JS中,作用域是通过函数来划分 ...
- C\C++与Java中的static关键字
C\C++里面的static: 面向过程的static: 在c和c++面向过程的设计里,在全局变量前加上static关键字则可将该变量定义为一个静态全局变量,比如: static int a; 那么c ...
- “玲珑杯”ACM比赛 Round #13 B -- 我也不是B(二分排序)
题意:开始有一个空序列s,一个变量c=0,接着从左往右依次将数组a中的数字放入s的尾部,每放一个数字就检测一次混乱度K,当混乱度k大于M时就清空序列并让c=c+1 K = Bi * Vi(1<= ...
- 403.14-Forbidden Web 服务器被配置为不列出此目录的内容
第二次碰到这个问题了,记录一下 解决方案:1. 运行->cmd 2. cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 3. aspnet_ ...
- Flume-NG源码阅读之SourceRunner,及选择器selector和拦截器interceptor的执行
在AbstractConfigurationProvider类中loadSources方法会将所有的source进行封装成SourceRunner放到了Map<String, SourceRun ...
- Java中的逻辑运算符
逻辑运算符主要用于进行逻辑运算.Java 中常用的逻辑运算符如下表所示: 我们可以从“投票选举”的角度理解逻辑运算符: 1. 与:要求所有人都投票同意,才能通过某议题 2. 或:只要求一个人投票同意就 ...
- 使用springmvc的时候报错NoSuchBeanDefinitionException: No qualifying bean of type
NoSuchBeanDefinitionException: No qualifying bean of type 其实我至今都不知道错误的根源在哪里,<context:component-sc ...
- 框架布局FrameLayout
框架布局FrameLayout 一.简介 二.代码实例 结果图: 代码: 需要注意的代码: imageView_play.setVisibility(View.INVISIBLE); <Fram ...