1. 程式人生 > >Hadoop-2.7.7 + Hive-2.3.4配置開啟HiveServer2,並且整合Zeppelin實現視覺化

Hadoop-2.7.7 + Hive-2.3.4配置開啟HiveServer2,並且整合Zeppelin實現視覺化

我的環境中已經配置了Hive-MetaStore,所以我這個檔案之前就新建過了,如果是你新安裝的hive ,那麼你要自己新建一個hive-site.xml檔案

 

整個檔案完整內容如下:

其中粗體字部分是和hiveserver2有關的重要配置

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
    <description>password to use against metastore database</description>
  </property>
  <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
  </property>
  <property> 
     <name>hive.cli.print.current.db</name>
     <value>true</value>
  </property>
  <property> 
         <name>hive.cli.print.header</name>
         <value>true</value>
  </property>
  <!-- 這是hiveserver2 -->


  <property>
     <name>hive.server2.thrift.port</name>
     <value>10000</value>
  </property>

  <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>127.0.0.1</value>
  </property>

  </configuration>

 

2.配置hadoop中的core-site.xml檔案 

core-site.xml完整程式碼如下:

綠色粗體程式碼部分是核心配置

name標籤中的hadoop.proxyuser.${使用者名稱}.groups

這個${使用者名稱}就是增加允許用來連線hiveserver2的username

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
    <!-- 指定HDFS老大(namenode)的通訊地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://127.0.0.1:9000</value>
    </property>
    <!-- 指定hadoop執行時產生檔案的儲存路徑 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/hadoop-temp</value>
    </property>


   <!-- 如果連線不上10000 -->

  <property>     
    <name>hadoop.proxyuser.root.hosts</name>     
    <value>*</value>
  </property> 
  <property>     
    <name>hadoop.proxyuser.root.groups</name>    
    <value>*</value> 
  </property>
  <property>     
    <name>hadoop.proxyuser.chenjun.hosts</name>     
    <value>*</value> 
  </property> 
  <property>     
    <name>hadoop.proxyuser.chenjun.groups</name>     
    <value>*</value> 
  </property>
  <property>     
    <name>hadoop.proxyuser.hive.hosts</name>     
    <value>*</value> 
  </property> 
  <property>     
    <name>hadoop.proxyuser.hive.groups</name>     
    <value>*</value> 
  </property>

</configuration>

 第三步,啟動HiveServer2

 

#以nohup形式啟動hiveserver2
cd $HIVE_HOME
nohup hiveserver2>> hiveserver2.log 2>&1 &

回車之後 

切換到root ,看看10000埠的程序是不是起來了

lsof -i:10000

如上圖所示,可以看到 程序已經起來了

訪問一下 localhost:10002 看看能不能開啟

可以看到服務確實啟動了

 

第四步,啟動Zeppelin,並且配置和HiveServer2相關的直譯器(Interpreter)

Zeppelin安裝只需啟動一個shell檔案就完成了,及其簡單 ,此處略去安裝步驟

然後會進入一個表單填寫的介面

 

hiveserver2-jdbc直譯器配置,只需填寫四處即可

1. default.driver   填寫 org.apache.hive.jdbc.HiveDrivera

2. default.url    填寫 jdbc:hive2://localhost:10000/test

3. default.user  填寫  chenjun  

4.Dependencies部分,把驅動加入到Dependencies中 ,如下圖,

 

注意:

第三項的user填寫必須要和之前上面提到的core-site.xml配置的user一樣!

第四項的版本必須相容你的hive版本 ,比如我hive是2.3.4, 自然使用了2.3.4的jar驅動

配置完成之後儲存, 然後在Zeppelin中新建一個notebook

然後就說編寫SQL,進行測試

此處我預先建了一張表 t_plate_num_report (車輛資訊表)

等待執行完畢,自動展示圖表