简述Hive的三种启动方式及内置服务

一 Thrift服务

通过hiveServer/hiveServer2启动Thrift服务,客户端连接Thrift服务访问Hive数据库(JDBC,JAVA等连接Thrift服务访问Hive)。

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

  <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>127.0.0.1</value>
    <description>Bind host on which to run the HiveServer2 Thrift service.</description>
  </property>

  <property>
    <name>hive.server2.enable.doAs</name>
    <value>false</value>
    <description>
      Setting this property to true will have HiveServer2 execute
      Hive operations as the user making the calls to it.
    如果为True:Hive Server会以提交用户的身份去执行语句
    如果为False:会以hive server daemon的admin user来执行语句

    </description>
  </property>

启动Thrift服务:

hive --service hiveserver2

测试Thrift服务:

新开一个命令行窗口,执行beeline命令:
   在这里插入图片描述

二 Hive的三种启动方式

1. hive命令行模式

进入hive安装目录下,输入命令:在这里插入图片描述
或者输入命令:

hive --service cli

用于Linux平台命令行查询,查询语句基本和MySQL查询语句类似。

2. hive web界面的启动模式

Hive 2.0 以后才支持Web UI的

bin/hive –service hwi (& 表示后台运行)

用于通过浏览器来访问hive,感觉没多大用途,浏览器访问地址是:

127.0.0.1:9999/hwi

3. hive 远程服务 (端口号10000) 启动方式 (Thrift服务)

 bin/hive –service hiveserver2 &(&表示后台运行)

用java,python等程序实现通过jdbc等驱动的访问hive就用这种起动方式了,这个是程序员最需要的方式了

三 Hive几种内置服务

执行命令:

bin/hive --service help

在这里插入图片描述
我们可以看到上边输出项Server List,里边显示出Hive支持的服务列表,beeline cli help hiveserver2 hiveserver hwi jar lineage metastore metatool orcfiledump rcfilecat。

下面介绍最有用的一些服务

1、cli:是Command Line Interface 的缩写,是Hive的命令行界面,用的比较多,是默认服务,直接可以在命令行里使用。

3、hwi:其实就是hive web interface的缩写它是hive的web借口,是hive cli的一个web替代方案。

2、hiveserver:这个可以让Hive以提供Thrift服务的服务器形式来运行,可以允许许多个不同语言编写的客户端进行通信,使用需要启动HiveServer服务以和客户端联系,

我们可以通过设置HIVE_PORT环境变量来设置服务器所监听的端口,在默认情况下,端口号为10000,这个可以通过以下方式来启动Hiverserver

 bin/hive --service hiveserver -p 10002

其中-p参数也是用来指定监听端口的
  
4、jar:与hadoop jar等价的Hive接口,这是运行类路径中同时包含Hadoop 和Hive类的Java应用程序的简便方式

5、metastore:在默认的情况下,metastore和hive服务运行在同一个进程中,使用这个服务,可以让metastore作为一个单独的进程运行。

我们可以通过METASTOE——PORT来指定监听的端口号

猜你喜欢

转载自blog.csdn.net/qq_41428711/article/details/85268093
今日推荐