[Hive]HiveServer2配置
2017-07-18 19:23
197 查看
HiveServer2(HS2)是一个服务器接口,能使远程客户端执行Hive查询,并且可以检索结果。HiveServer2是HiveServer1的改进版,HiveServer1已经被废弃。HiveServer2可以支持多客户端并发和身份认证。旨在为开放API客户端(如JDBC和ODBC)提供更好的支持。这篇文章将介绍如何配置服务器端。如何使用客户端与此服务器端交互将在下篇文章中介绍。备注Hive 0.11版本引入. See HIVE-2935.
Hive Metrics可以通过使用
可以使用
该接口目前正在HIVE-12338上开发。
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
相关文章推荐
- spark基础之Spark SQL和Hive的集成以及ThriftServer配置
- Hive从2.0版本开始,关于hiveserver2的web UI管理页面的配置和使用
- Spark SQL读取Hive数据配置及使用Thrift JDBC/ODBC Server访问Spark SQL
- beeline通过HiveServer2访问Hive的配置和操作
- HiveServer2的高可用-HA配置
- Hive Metastore 和hive-server2配置
- Hive hiveserver2 配置运行
- Hive学习之HiveServer2服务端配置与启动
- HiveServer2的配置使用
- HiveServer2的配置使用
- HIVESERVER2 HA配置及使用(java)
- Hive Using Derby in Server Mode(用Derby配置Hive的metastore——服务器模式)
- hadoop学习之HIVE(3.2):hadoop2.7.2下配置hiveserver2启动远程连接
- Hiveserver2 的简单配置说明
- 基于0.14.0版本配置HiveServer2
- hive-server2使用haproxy配置HA
- Hive学习之HiveServer2服务端配置与启动
- Hive学习之HiveServer2服务端配置与启动
- Spark 提升spark1.6提交任务速度+配置spark2.x后hiveserver2运行失败
- Hive学习之HiveServer2服务端配置与启动,允许远程连接