天天看點

大資料姊妹篇之HiveHive官網Hive概述Hive安裝部署Hive的指令行操作

Hive學習目錄

  • Hive官網
  • Hive概述
  • Hive安裝部署
  • Hive的指令行操作

Hive官網

  1. Hive官網文檔可以全方位,多角度的诠釋一門技術,就是有點費時間,還是建議先看視訊入門,然後再看書,或者文檔.

Hive概述

  1. Apache Hive ™是一款建立在Hadoop之上的開源資料倉庫,可以将存儲在Hadoop檔案中的結構化、半結構化資料檔案映射為一張資料庫表,基于表提供了一種類似SQL的查詢模型,稱為Hive查詢語言(HQL),用于通路和分析存儲在Hadoop檔案中的大型資料集.
  2. HQL可以把sql轉換為map-reduce執行,爽的一批.
    大資料姊妹篇之HiveHive官網Hive概述Hive安裝部署Hive的指令行操作

Hive安裝部署

  1. 伺服器基礎環境
    1. hadoop叢集環境
    2. mysql安裝
    3. Hive安裝包下載下傳, 這裡以3.1.2為例,下載下傳到/opt/software目錄,解壓到/opt/module目錄,并重命名為hive-3.1.2
    4. 配置環境變量:

      vi /etc/profile

      , 編輯完成後

      source/etc/profile

      使環境變量生效
      # Hive Home
      export HIVE_HOME=/opt/module/hive-3.1.2
      export PATH=$HIVE_HOME/bin:$HIVE_HOME/sbin:$PATH
                 
    5. 進入到conf目錄下:

      cd /opt/module/hive-3.1.2/conf

    6. 腳本重命名并添加内容,

      1. cp hive-env.sh.template hive-env.sh 2. vi hive-env.sh

      export HADOOP_HOME=/opt/module/hadoop-3.2.2/ 
      export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf/
      export HIVE_AUX_JARS_PATH=/opt/module/hive-3.1.2/lib
                 
    7. 解決jar包沖突問題
      cd /opt/module/hive-3.1.2
      rm -rf lib/guava-19.0.jar
      cp /opt/module/hadoop-3.2.2/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/
                 
    8. 解決hdfs的通路權限配置資訊,

      vi /opt/module/hadoop-3.2.2/etc/hadoop/core-site.xml

      然後重新啟動dfs,yarn (具體參考hadoop叢集搭建)
      <property>
      <name>dfs.permissions.enabled</name>
      <value>false</value>
      </property>
      
      <property>
      <name>hadoop.proxyuser.root.hosts</name>
      <value>*</value>
      </property>
      
      <property>
      <name>hadoop.proxyuser.root.groups</name>
      <value>*</value>
      </property>
      
                 
    9. 拷貝mysql驅動包到hive的lib目錄下
    10. 在本目錄下建立配置檔案,

      vi hive-site.xml

      内容如下:
      <configuration>
      <!-- 記錄HIve中的中繼資料資訊  記錄在mysql中 -->
      <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://server1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
      </property>
      
      <!-- jdbc mysql驅動 -->
      <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
      </property>
      
      <!-- mysql的使用者名和密碼 -->
      <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>root</value>
      </property>
      <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>Dd123=123</value>
      </property>
      
      <!-- 設定metastore的節點資訊 -->
      <property>
      <name>hive.metastore.uris</name>
      <value>thrift://server1:9083</value>
      </property>
      
      <!-- H2S運作綁定host -->
      <property> 
      <name>hive.server2.thrift.bind.host</name> 
      <value>server1</value>
      </property>
      
      <!-- 關閉中繼資料存儲授權 -->
      <property> 
      <name>hive.metastore.event.db.notification.api.auth</name> 
      <value>false</value>
      </property>
      
      <!-- 關閉中繼資料存儲版本的驗證 -->
      <property> 
      <name>hive.metastore.schema.verification</name> 
      <value>false</value>
      </property>
      </configuration>
                 
    11. 初始化hive, 在hive的bin目錄下執行
      ./schematool -initSchema -dbType  mysql
                 
    12. 啟動成功
      大資料姊妹篇之HiveHive官網Hive概述Hive安裝部署Hive的指令行操作

Hive的指令行操作

  1. 進入到hive的bin目錄, 啟動metastore服務并且設定背景啟動

    nohup hive --service metastore &

  2. 接着執行

    hive

    1. show databases;
      大資料姊妹篇之HiveHive官網Hive概述Hive安裝部署Hive的指令行操作

繼續閱讀