立即注册 登录
About云开发-梭伦科技 返回首页

xuanxufeng的个人空间 https://www.aboutyun.com/?53 [收藏] [复制] [分享] [RSS]

日志

配置HiveServer2

已有 6187 次阅读2016-6-29 20:11

HiveServer2作为一种服务接口,允许Hive远程客户端执行查询并返回结果。当前实现基于Thrift的RPC调用。是HiveServer的改进版本,支持多客户端的并发和权限控制。被设计来更好的对开放式API如JDBC和ODBC的支持。

接下来我们要描述如何设置服务,如何使用客户端连接服务器将在《HiveServer客户端》文档中描述。

如何设置

设置Hive-site.xml配置文件中的属性

参数

描述

hive.server2.thrift.min.worker.threads

最小的工作线程数

默认5

hive.server2.thrift.max.worker.threads

最大的工作线程数

默认500

hive.server2.thrift.port

监听的TCP端口号

默认1000

hive.server2.thrift.bind.host

绑定的TCP接口主机名

默认localhost

可选的环境设置

环境变量

 

HIVE_SERVER2_THRIFT_BIND_HOST

需要绑定的主机TCP接口,会覆盖配置文件中的设置

HIVE_SERVER2_THRIFT_PORT

需要监控的TCP端口,默认10000,会覆盖配置文件中的设置

 

运行在HTTP模式

在Hive0.13版本中,HiveServer2提供了支持通过HTTP协议发送ThriftRPC消息的能力。这对支持客户端和服务器间的代理来说非常有用。(例如,可以解决负载均衡和安全问题)。当前,你可以选择将HiveServer2运行在TCP和HTTP模式上,但无法同时运行两种模式。

使用下面的配置来设置HTTP模式:

hive.server2.transport.mode

设置为http

相关的环境设置

hive.server2.thrift.http.port

监听的HTTP端口号

默认10001

hive.server2.thrift.http.path

服务端点

默认cliservice

hive.server2.thrift.http.min.worker.threads

最小的工作线程数

默认5

hive.server2.thrift.http.max.worker.threads

最大的工作线程数

默认500

 

全局初始文件

启用Hive0.14,全局的初始化文件被放在变量hive.server2.global.init.file.location指定的位置中。这个变量指定的是初始化的文件存在的路径或初始化的.hiverc文件。

初始文件包含一系列的命令,并会为用户运行HiveServer2实例。如注册一个标准的jar集合和函数。

 

如何开始

$HIVE_HOME/bin/hive --service hiveserver2

 

Service hive-server2 start

 

使用信息

在命令后面加上-H或—help选项可以获得有用信息,如

授权/安全配置

HiveServer2支持匿名(非授权)以及SASL、Kerberos、LDAP、插件式客户授权和插件式授权模式。

设置

hive.server2.authentication

授权模式,默认NONE,可选的包括NOSASL、KERBEROS、LDAP、PAM和CUSTOM等授权模式

hive.server2.authentication.kerberos.principal

服务的KERBEROS的principal

hive.server2.authentication.kerberos.keytab

服务principal的keytab

hive.server2.authentication.ldap.url

LDAP的URL

hive.server2.authentication.ldap.baseDN

基于DN的LDAP

hive.server2.custom.authentication.class

用户授权类,实现

org.apache.hive.service.auth.PasswdAuthenticationProvider接口

默认情况HiveServer2当用户提交查询时,执行这个提交用户查询过程,但当以下参数设置为false,查询会以运行HiveServer2进程的用户提交。

hive.server2.enable.doAs

匿名连接用户,默认true

为了避免内存在非安全模式下的泄露,可以通过将以下参数设置为true禁止文件系统缓存:

fs.hdfs.impl.disable.cache

禁止HDFS文件系统缓存,默认为false

fs.file.impl.disable.cache

禁止文件缓存

 

集成/保密保护

在Hive0.12版本中,允许集成保护和保密保护(不光是授权)。为了能在HiveJDBC驱动和HIveServer2之间通信。我们可以设置SASL QOP属性。

这个只支持在Kerberos作为HS2客户端的授权

在Hive-site.xml中hive.server2.thrift.sasl.qop可以设置为QOP的一个有效值(‘auth’或’auth-conf’)

 

SSL加密

在Hive0.13中提供支持SSL加密。为了启用,在配置文件hive-site.xml中设置下面的变量:

hive.server2.use.SSL

设置为true

hive.server2.keystore.path

将这个设置成你的keystore路径

hive.server2.keystore.password

将这个设置成你的keystore密码

 

可插拔的授权模块

在Hive0.13中,提供了对PAM的支持。为了支持PAM。需要如下步骤设置PAM:

下载相关架构的JPAM本地库

解压并拷贝libjpam.so到系统的目录中

添加目录到LD_LIBRARY_PATH环境变量,如:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<libjmap-directory>

最后,设置hive-site.xml中的配置

hive.server2.authentication

设置成PAM

hive.server2.authentication.pam.services

设置这个列表为PAM。注意到拥有同样名字的PAM服务需要同时存在/etc/pam.d中

 

赞同1


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /5 下一条