1. 程式人生 > >簡述Hive的三種啟動方式及內建服務

簡述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來指定監聽的埠號