HiveServer2(HS2)是一种允许客户端对Hive执行查询的服务。HiveServer2是HiveServer1的后续版本。HS2支持多客户端并发和身份验证,旨在为JDBC、ODBC等开放API客户端提供更好的支持。

HS2包括基于Thrift的Hive服务(TCP或HTTP)和用于WebUI的JettyWeb服务器。
HiveServer2 作用:

  • 为Hive提供了一种允许客户端远程访问的服务
  • 基于thrift协议,支持跨平台,跨编程语言对Hive访问
  • 允许远程访问Hive

HiveServer2配置

配置规划:
| 节点 | HiveServer2 | client |
| —— | ———– | —— |
| master | | |
| slave1 | | √ |
| slave2 | √ | |

配置步骤:
master

  1. 修改集群上的core-site.xml,增加以下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!--Hiveserver2连不上10000;hadoop为安装用户-->
    <!--root用户可以代理所有主机上的所有用户-->
    <property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
    </property>
    <property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
    </property>
  2. 修改集群上的hdfs-site.xml,增加以下内容:

    1
    2
    3
    4
    5
    <!--Hiveserver2连不上10000;启用webhdfs服务-->
    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
  3. 分发文件到集群中

    1
    2
    3
    stop-dfs.sh
    rsync-script core-site.xml
    rsync-script hdfs-site.xml

启动 HiveServer2

master

1
start-dfs.sh

slave2

1
nohup hiveserver2 &

http://slave2:10002

image