如何启动HiveServer2

HiveServer2 是一种可选的 Hive 内置服务,可以允许远程客户端使用不同编程语言向 Hive 提交请求并返回结果。HiveServer2 是 HiveServer1 的改进版,主要解决了无法处理来自多个客户端的并发请求以及身份验证问题。具体可以参阅 一起了解一下HiveServer2。下面我们具体看一下如何配置 HiveServer2。

1. Thrift服务配置

假设我们已经成功安装了 Hive,如果没有安装,可以参阅 Hive 安装与配置。在启动 HiveServer2 之前,我们需要先进行一些配置:

<property>
<name>hive.server2.transport.mode</name>
<value>binary</value>
<description>
Expects one of [binary, http]. Transport mode of HiveServer2.
</description>
</property>

<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
<description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.</description>
</property>

默认情况下,HiveServer2 启动使用的是默认配置。这些配置主要是服务启动的 Host 和端口号以及客户端和后台操作运行的线程数。我们可以重写 hive-site.xml 配置文件中的配置项来修改 HiveServer2 的默认配置:

配置项 默认值 说明
hive.server2.transport.mode binary HiveServer2 的传输模式,binary或者http
hive.server2.thrift.port 10000 HiveServer2 传输模式设置为 binary 时,Thrift 接口的端口号
hive.server2.thrift.http.port 10001 HiveServer2 传输模式设置为 http 时,Thrift 接口的端口号
hive.server2.thrift.bind.host localhost Thrift服务绑定的主机
hive.server2.thrift.min.worker.threads 5 Thrift最小工作线程数
hive.server2.thrift.max.worker.threads 500 Thrift最大工作线程数
hive.server2.authentication NONE 客户端认证类型,NONE、LDAP、KERBEROS、CUSTOM、PAM、NOSASL
hive.server2.thrift.client.user anonymous Thrift 客户端用户名
hive.server2.thrift.client.password anonymous Thrift 客户端密码

2. 启动

启动 HiveServer2 非常简单,我们需要做的只是运行如下命令即可:

$HIVE_HOME/bin/hiveserver2 &

或者

$HIVE_HOME/bin/hive --service hiveserver2 &

检查 HiveServer2 是否启动成功的最快捷的办法就是使用 netstat 命令查看 10000 端口是否打开并监听连接:

netstat -nl | grep 10000

3. 验证

可以通过如下 Beeline 命令连接到 HiveServer2 来验证我们的 HiveServer2 是否成功:

`beeline -u  <url> -n <username> -p <Password>`

4. Web UI

Hive 从 2.0.0 版本开始,为 HiveServer2 提供了一个简单的 WEB UI 页面,在页面中我们可以直观的看到当前链接的会话、历史日志、配置参数以及度量信息。默认情况下,Web UI 端口为 10002。

如果要开启 Web UI 需要在 hive-site.xml 配置文件中修改配置:

  • hive.server2.webui.host
  • hive.server2.webui.port
<property>
<name>hive.server2.webui.host</name>
<value>127.0.0.1</value>
</property>

<property>
<name>hive.server2.webui.port</name>
<value>10002</value>
</property>

配置完成之后启动 hiveserver2 通过 http://localhost:10002/ 地址访问 Web UI:

欢迎关注我的公众号和博客:

赏几毛白!