




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《大數(shù)據(jù)平臺部署與運維》單元8
數(shù)據(jù)倉庫Hive部署與應用任務8.1部署Hive本地模式01理解Hive的原理與體系架構02掌握Hive的部署方法學習目標03掌握Hive格式化和啟動相關命令任務8.1部署Hive本地模式【任務場景】經(jīng)理:Hive目前是Hadoop生態(tài)圈中最常用的數(shù)據(jù)倉庫工具,大部分互聯(lián)網(wǎng)公司使用Hive進行日志分析,包括百度、淘寶等。咱們的日志系統(tǒng)數(shù)據(jù)分析可以基于Hive來做。小張:好的,我馬上開始研究Hive數(shù)據(jù)倉庫。經(jīng)理:Hive是一種建立在Hadoop文件系統(tǒng)上的數(shù)據(jù)倉庫架構,并對存儲在HDFS中的數(shù)據(jù)進行分析和管理;它可以將結構化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的SQL查詢功能,所以你熟悉SQL語言,Hive分析上手應該非???。小張:好的,我先基于咱們現(xiàn)有的Hadoop平臺把Hive安裝部署好。經(jīng)理:好。任務8.1部署Hive本地模式【任務布置】根據(jù)使用場景不同,Hive的安裝部署模式分為三種,分別是內(nèi)嵌模式、本地模式和遠程模式。Hive內(nèi)嵌模式由于只支持單會話連接,所以很少使用。Hive本地安裝模式和遠程模式都是常見的安裝和部署方法。此任務要求完成Hive本地模式的安裝部署,安裝完成后通過命令格式化Hive元數(shù)據(jù)庫,然后運行和訪問Hive。任務8.1部署Hive本地模式8.1.1Hive介紹Hive是建立在Hadoop之上的數(shù)據(jù)倉庫,可對存儲在HDFS上的文件中的數(shù)據(jù)集進行數(shù)據(jù)整理、特殊查詢和分析處理。Hive最初是應Facebook每天產(chǎn)生的海量新興社會網(wǎng)絡數(shù)據(jù)進行管理和機器學習的需求而產(chǎn)生和發(fā)展的。Hive定義了一種類似SQL的查詢語言,被稱為HQL,對于熟悉SQL的用戶可以直接利用Hive來查詢數(shù)據(jù),但HiveQL不完全支持SQL標準,如不支持更新操作、索引和事務,其子查詢和連接操作也存在很多限制。同時,這個語言也允許熟悉MapReduce開發(fā)者們開發(fā)自定義的mappers和reducers來處理內(nèi)建的mappers和reducers無法完成的復雜的分析工作。任務8.1部署Hive本地模式Hive是Hadoop生態(tài)系統(tǒng)的一個組成部分,Hive在Hadoop生態(tài)系統(tǒng)的位置如下圖所示:任務8.1部署Hive本地模式Hive與HDFS、HBase的關系:Hive可以直接操作HDFS中的文件作為它的表的數(shù)據(jù),也可以使用Hbase數(shù)據(jù)庫作為它的表。Hive和HBase的數(shù)據(jù)流描述如下圖所示。數(shù)據(jù)源經(jīng)過ETL工具被抽取到HDFS存儲;再由Hive對原始數(shù)據(jù)進行清洗、處理和計算;Hive清洗處理后的結果,如果是面向海量數(shù)據(jù)隨機查詢場景的可存入Hbase,進而展開具體的數(shù)據(jù)應用。Hive和HBase數(shù)據(jù)流關系如下圖所示:任務8.1部署Hive本地模式Hive與HBase的區(qū)別:(1)Hive中的表是純邏輯表,就只是表的定義等,即表的元數(shù)據(jù)。Hive本身不存儲數(shù)據(jù),它完全依賴HDFS和MapReduce。
(2)Hive是基于MapReduce來處理數(shù)據(jù);
HBase處理數(shù)據(jù)是基于列的而不是基于行的模式,適合海量數(shù)據(jù)的隨機訪問。(3)HBase的表是疏松的存儲的,因此用戶可以給行定義各種不同的列;而Hive表是稠密型,即定義多少列,每一行有存儲固定列數(shù)的數(shù)據(jù)。(4)Hive使用Hadoop來分析處理數(shù)據(jù),而Hadoop系統(tǒng)是批處理系統(tǒng),因此不能保證處理的低遲延問題;而HBase是近實時系統(tǒng),支持實時查詢。(5)Hive不提供行級別的更新,它適用于大量append-only數(shù)據(jù)集(如日志)的批任務處理。而基于HBase的查詢,支持行級別的更新。(6)Hive提供完整的SQL實現(xiàn),通常被用來做一些基于歷史數(shù)據(jù)的挖掘、分析。而HBase是一個NoSQL,不適用與有join,多級索引,表關系復雜的應用場景。任務8.1部署Hive本地模式8.1.2Hive安裝方式
Hive中有兩類數(shù)據(jù):表數(shù)據(jù)和元數(shù)據(jù)。和關系型數(shù)據(jù)庫一樣,元數(shù)據(jù)可以看做是描述數(shù)據(jù)的數(shù)據(jù),包括Hive表的數(shù)據(jù)庫名、表名、字段名稱與類型、分區(qū)字段與類型、表及分區(qū)的屬性、存放位置等都屬于元數(shù)據(jù)。在項目一中我們知道Hive常用的元數(shù)據(jù)庫有Hive自帶的Derby數(shù)據(jù)庫和獨立安裝的MySQL數(shù)據(jù)庫。元數(shù)據(jù)存儲路徑分為本地和遠程,可通過hive-site.xml文件設置。根據(jù)Hive不同的應用場景,以及元數(shù)據(jù)庫的使用方式不同,可以將Hive的安裝方式分為三種,三種方式及具體特點如下表所示:序號安裝方式特點1內(nèi)嵌模式元數(shù)據(jù)保存在內(nèi)嵌的Derby數(shù)據(jù)庫,允許一個會話鏈接,多個會話鏈接會報錯)2本地模式獨立安裝MySQL替代Derby存儲元數(shù)據(jù)3遠程模式MetaStore服務和Hive服務不在同一個節(jié)點,遠程安裝MySQL替代Derby存儲元數(shù)據(jù)任務8.1部署Hive本地模式(1)內(nèi)嵌模式內(nèi)嵌模式是Hive默認的配置模式,配置簡單,但是一次只能一個客戶端連接,只適用于實驗,不適用于生產(chǎn)環(huán)境。內(nèi)嵌模式的結構圖如下圖所示:任務8.1部署Hive本地模式Hive本地模式的結構圖如下圖所示:(2)本地模式Hive的本地模式不再使用內(nèi)嵌的Derby作為元數(shù)據(jù)的存儲介質(zhì),而是使用其他數(shù)據(jù)庫比如MySQL來存儲元數(shù)據(jù)。Hive服務和MetaStore服務運行在同一個進程中,MySQL是單獨的進程,可以和Hive部署在同一臺機器,也可以將MySQL部署在遠程機器上。這種方式是一個多用戶的模式,運行多個用戶client連接到一個數(shù)據(jù)庫中。本地模式部署的Hive一般用于公司內(nèi)部多用戶同時訪問和操作。每一個用戶必須要有對MySQL的訪問權利,即每一個客戶端使用者都需要知道MySQL的用戶名和密碼。Hive可以通過本地模式在單臺機器上處理所有的任務。對于小數(shù)據(jù)集,執(zhí)行時間會明顯縮短。任務8.1部署Hive本地模式(3)Hive遠程模式:
是將存儲元數(shù)據(jù)的MySQL數(shù)據(jù)庫部署到集群中其他節(jié)點的機器,作為元數(shù)據(jù)服務器。實現(xiàn)了MySQL服務器和Hive服務器分別部署在不同機器上。在遠程模式下,Hive服務和MetaStore服務是運行在不同的進程或不同機器上的,在元數(shù)據(jù)服務器端啟動MetaStoreServer,客戶端通過MetaStoreServer訪問元數(shù)據(jù)庫MySQL。Hive遠程模式的訪問結構如下圖所示:任務8.1部署Hive本地模式【工作流程】部署Hive本地模式的主要工作流程包括:1.安裝和配置MySQL;2.安裝和配置Hive。其中安裝和配置Hive的具體流程包括:(1)解壓安裝包并配置環(huán)境變量;(2)修改Hive的配置文件;(3)在Hive安裝目錄下創(chuàng)建tmp目錄;(4)部署jdbc驅(qū)動包;(5)對Hive元數(shù)據(jù)庫進行初始化;(6)啟動Hive客戶端,測試Hive部署是否成功。任務8.1部署Hive本地模式【操作步驟】Hive本地模式的安裝需要將Hive和元數(shù)據(jù)庫MySQL都安裝在master節(jié)點上。1.安裝和配置MySQL具體步驟如下:(1)檢查MySQL是否已安裝 首先刪除linux上已經(jīng)安裝的mysql相關庫信息。
[root@master01opt]#rpm-emysql--nodeps
執(zhí)行命令檢查是否刪除干凈
[root@master01opt]#rpm-qa|grepmysql(2)使用yum源安裝mysqlCentOS7的yum源中默認沒有mysql,需要首先執(zhí)行wget命令下載mysql的repo源,具體命令如下所示:
[root@master01opt]#wgethttp:///mysql-community-release-el7-5.noarch.rpm【小提示】如果執(zhí)行上面命令時提示wget未安裝,則需要先安裝wget命令,使用yum安裝即可,安裝命令如下所示:
[root@master01opt]#yuminstall–ywget
安裝mysql-community-release-el7-5.noarch.rpm包
[root@master01opt]#rpm-ivhmysql-community-release-el7-5.noarch.rpm
安裝mysql服務器端:
[root@master01opt]#yuminstall–ymysql-server任務8.1部署Hive本地模式(3)連接MySQL
啟動MySQL服務:
[root@master01opt]#systemctlstartmysql
在shell命令行狀態(tài)下執(zhí)行下面命令連接MySQL:
[root@master01opt]#mysql
運行以下命令授予遠程訪問權限:
mysql>grantallprivilegeson*.*to'root'@'%'identifiedby'root'withgrantoption;
運行以下命令刷新授權表:
mysql>flushprivileges;
運行以下命令創(chuàng)建hive數(shù)據(jù)庫用于存儲Hive元數(shù)據(jù):
mysql>createdatabasehive; 運行以下命令退出MySQL數(shù)據(jù)庫: mysql>exit;任務8.1部署Hive本地模式2.安裝并配置Hive(1)解壓安裝包并配置環(huán)境變量 將下載好的Hive安裝包進行解壓,并且改為短名,如下兩條命令所示:
[root@master01opt]#tarzxvfapache-hive-3.1.2-bin.tar.gz [root@master01opt]#mvapache-hive-3.1.2-binhive
在master節(jié)點節(jié)點上,編輯/etc/profile文件,添加以下兩行內(nèi)容,配置Hive的環(huán)境變量:
exportHIVE_HOME=/opt/hive exportPATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf
運行以下命令,使配置的環(huán)境變量生效:
[root@master01opt]#source/etc/profile(2)修改Hive的配置文件Hive的配置文件都存放在Hive安裝目錄的$HIVE_HOME/conf目錄下。進入hive的conf目錄,進行以下配置文件的修改:①修改hive-env.sh在hive-env.sh文件中添加以下四個環(huán)境變量的配置:
exportJAVA_HOME=/usr/lib/kvm/java##Java路徑
exportHADOOP_HOME=/opt/hadoop##Hadoop安裝路徑
exportHIVE_HOME=/opt/hive##Hive安裝路徑
exportHIVE_CONF_DIR=${HIVE_HOME}/conf##Hive配置文件路徑任務8.1部署Hive本地模式②新建并修改hive-site.xml在Hive的conf目錄下新建hive-site.xml文件,并在文件中配置MySQL數(shù)據(jù)庫連接信息。
<configuration> <property> <name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</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>root</value> </property> </configuration>任務8.1部署Hive本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年衢州危運押運員考試試題
- 2025年高效節(jié)能電動機項目合作計劃書
- 網(wǎng)絡服務排他性授權協(xié)議
- 特別聲明僅用于證明工作文件證明(6篇)
- 社區(qū)農(nóng)業(yè)技術推廣應用合同
- 制造業(yè)企業(yè)員工技能證書及工作履歷證明(8篇)
- 2025年醫(yī)用空氣壓縮機(系統(tǒng))合作協(xié)議書
- 漁業(yè)資源可持續(xù)開發(fā)合作框架協(xié)議
- 移動支付終端軟件推廣協(xié)議
- 太陽能光伏電站買賣協(xié)議
- 全新店鋪轉(zhuǎn)讓合同
- 小學升初中六年級數(shù)學模擬試卷及參考答案
- 監(jiān)督執(zhí)紀工作規(guī)則
- 全麻術后蘇醒延遲的預防及護理
- 辦公區(qū)域主要風險辨識與分級管控清單
- 2024年海南省財金集團有限公司招聘筆試沖刺題(帶答案解析)
- 2024年遼寧鐵道職業(yè)技術學院單招職業(yè)技能測試題庫及答案解析
- (正式版)JBT 14581-2024 閥門用彈簧蓄能密封圈
- 小學科學湘科版六年級下冊全冊同步練習含答案
- 【危險化學品經(jīng)營單位安全管理人員】考試600題及解析
- 醫(yī)療護理中的病人體驗與滿意度
評論
0/150
提交評論