(1)、hive框架搭建和架構簡介


一、簡介

Hive是基於hadoop的一個數據倉庫工具,有助於查詢和管理分布式存儲系統中的數據集,非常適合數據倉庫的統計分析

Hive 不適合用於連機事物處理、也不提供實時查詢,比較適合在大量不可變數據的批處理作業。

二、下載與安裝

1、下載hive壓縮包,並復制到centos系統的/opt/module目錄下

2、解壓文件:tar -zxvf apache-hive-1.0.1-bin.tar.gz    執行重命名文件夾為  hive

3、添加hive-1.0.1到環境變量中,本文前提是已經配置好了hadoop的運行環境,運行環境為hadoop2.2

vi /etc/profile
插入內容
export HIVE_HOME=/opt/modules/hive
export PATH=$PATH:$HIVE_HOME

4、配置hive-default.xml和hive-site.xml文件

進入到/opt/modules/hive/conf,將hive-default.xml.template 復制為hive-default.xml和hive-site.xml文件,修改hive-env.xml文件的權限

chmod u+x hive-env.sh

5、在shell命令行中,輸入:hive   則會進入到hive的shell命令窗口

(在配置的過程中,遇到了很多的問題,不過根據log日志,可以一步一步的解決問題)

三、架構

hive的架構可以分為四個部分

  • 用戶接口
  •     主要有CLI、Client和WUI,CLI啟動的時候,會同時啟動一個hive的副本
  • 元數據存儲
  •     hive中的元數據是存儲在RDBMS中的,如:MySQL,hive的元數據包括表的名字、表的列、表的屬性、表的數據所在的目錄
  •     在hive中,每個數據庫對於與HDFS文件系統的一個目錄,在數據庫中創建的表,則在相應的數據庫目錄下,為數據庫目錄的子目錄。
  • 解釋器、編譯器、優化器
  •    使用HQL語句查詢,需要從詞法分析、語法分析、編譯、優化以及查詢計划的生成,生成的查詢信息存儲在HDFS中,然后由MapReduce調用執行
  • 數據存儲
  •   hive的數據存儲在HDFS中的,大部分的查詢都被解釋為MapReduce任務,只有少部分直接讀取文件

架構圖如下所示。

si

 

四、存儲元數據到MySQL數據庫中

a  安裝MySQL數據庫

     yum install -y mysql-server mysql mysql-deve

b、重啟mysql服務

     service mysqld restart

c、登陸MySQL,並授予權限

     mysql -u root -p ***

    分配權限:grant all privileges on *.* to 'root'@'hadoop-yarn' identified by 'root123';

    刷新權限:flush privileges

d、創建hive專用的元數據庫:“hive”

    create database hive;

e、在Hive的conf目錄下的hive-site.xml文件添加以下配置

    <property>
        <name>hive.metastore.local</name>
        <value>true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop-yarn:3306/hive?characterEncoding=UTF-8</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root123</value>
    </property>

f、將mysql的驅動包復制到hive目錄的lib目錄下

g、啟動hive命令,如下圖所示

h、進入MySQL數據庫

     執行命令:use hive

  show tables   如圖所示

到此,hive的環境搭建結束,元數據metastore存儲在MySQL數據庫中。


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM