胡 銳
(蘇州科技大學(xué) 網(wǎng)絡(luò)與教育技術(shù)中心,江蘇 蘇州 215009)
基于Hadoop的高校檔案管理存儲(chǔ)系統(tǒng)研究
胡銳
(蘇州科技大學(xué) 網(wǎng)絡(luò)與教育技術(shù)中心,江蘇 蘇州 215009)
隨著高校信息化的發(fā)展,高校檔案管理開始向無紙化發(fā)展,檔案信息資源的數(shù)據(jù)成指數(shù)級增長,現(xiàn)有檔案管理系統(tǒng)難以滿足。因此,構(gòu)建一個(gè)檔案管理存儲(chǔ)系統(tǒng)變得尤其重要。文章介紹了以Hadoop技術(shù)為基礎(chǔ)建設(shè)的一個(gè)檔案管理存儲(chǔ)系統(tǒng),用來滿足日益增長的檔案數(shù)據(jù)存儲(chǔ)需求。
Hadoop;Hive;檔案管理;存儲(chǔ)系統(tǒng)
近年來,檔案資源作為高校重要的信息資源和知識(shí)資源,越來越受到高校管理者的重視[1]。隨著檔案資源的種類和數(shù)量的增加,產(chǎn)生了海量的檔案數(shù)據(jù)。如何將海量檔案數(shù)據(jù)可靠有效且廉價(jià)地進(jìn)行存儲(chǔ),是檔案管理系統(tǒng)建設(shè)者要思考的問題。
以云計(jì)算為基礎(chǔ)的分布式存儲(chǔ)系統(tǒng)是實(shí)現(xiàn)廉價(jià)存儲(chǔ)趨勢,通過云計(jì)算進(jìn)行硬件資源整合提供強(qiáng)大的存儲(chǔ)能力及計(jì)算能力,并實(shí)現(xiàn)了對數(shù)據(jù)的統(tǒng)一管理,提高服務(wù)質(zhì)量以及數(shù)據(jù)處理的可靠性和擴(kuò)展性[2]。
本文在借助于Hadoop的云架構(gòu)的基礎(chǔ)上,以Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)作為檔案管理系統(tǒng)存儲(chǔ),通過HBase作為檔案管理系統(tǒng)數(shù)據(jù)庫,來實(shí)現(xiàn)檔案去管理系統(tǒng)。
2.1 Hadoop
Hadoop是Apache開源組織的一個(gè)分布式計(jì)算框架,可以在大量廉價(jià)的硬件設(shè)備組成的集群上運(yùn)行應(yīng)用程序,構(gòu)建一個(gè)具有高可靠性和良好擴(kuò)展性的并行分布式系統(tǒng),Hadoop分布式文件系統(tǒng)、MapReduce編程模型和HBase分布式數(shù)據(jù)庫是其三大核心技術(shù)[3]。
HDFS采用 Master/Slave 模式,一個(gè)HDFS集群系統(tǒng)是由一個(gè)Master和多個(gè)Slave構(gòu)成。HDFS集群有兩類節(jié)點(diǎn),并以管理者—工作者的方式運(yùn)行,即一個(gè) NameNode(管理者)和多個(gè) DataNode(工作者)。DataNode 是文件系統(tǒng)的工作節(jié)點(diǎn),它根據(jù)需要存儲(chǔ)并檢索數(shù)據(jù)塊,并且定期向NameNode 發(fā)送它們所存儲(chǔ)的塊的列表[4]。
2.2 Hive
Hive是一個(gè)基于Hadoop的數(shù)據(jù)倉庫平臺(tái)和SQL基礎(chǔ)結(jié)構(gòu),是Facebook在2008年8月開始開源的一個(gè)數(shù)據(jù)倉庫框架[5]。
Hive是基于Hadoop平臺(tái)的數(shù)據(jù)倉庫管理軟件,使用戶可以像關(guān)系型數(shù)據(jù)倉庫一樣在分布式環(huán)境下進(jìn)行數(shù)據(jù)處理;它提供一種類似SQL的查詢語言:HiveQL(Hive query Language),編譯器將用戶的查詢語言翻譯成可在MapReduce框架下執(zhí)行的工作流(Workfow),從分布式存儲(chǔ)結(jié)構(gòu)HDFS上讀取數(shù)據(jù),處理后將結(jié)果寫回HDFS[6]。
3.1 系統(tǒng)架構(gòu)
以Hadoop集群為基礎(chǔ)作為底層數(shù)據(jù)存儲(chǔ),通過封裝實(shí)現(xiàn)SQL式的數(shù)據(jù)訪問。檔案管理存儲(chǔ)系統(tǒng),整個(gè)系統(tǒng)采用3層架構(gòu),從上往下分別是:應(yīng)用層,數(shù)據(jù)管理層和混合存儲(chǔ)層,如圖1所示。
圖1 檔案管理存儲(chǔ)系統(tǒng)架構(gòu)
(1)應(yīng)用層:通過Hbase將Hadoop轉(zhuǎn)化為普通的數(shù)據(jù)庫系統(tǒng),通過Hive進(jìn)行SQL式數(shù)據(jù)訪識(shí)問。
(2)數(shù)據(jù)管理層:檔案管理存儲(chǔ)系統(tǒng)是在Hadoop架構(gòu)基礎(chǔ)上搭建,Hadoop的NameNode實(shí)現(xiàn)對HDFS進(jìn)行統(tǒng)一的數(shù)據(jù)管理,實(shí)現(xiàn)對文件系統(tǒng)的空間命名,Hadoop集群數(shù)據(jù)存儲(chǔ)塊信息的維護(hù)等。
(3)混合存儲(chǔ)層:部署Hadoop的機(jī)器主要包括了各種虛擬機(jī)和物理機(jī),其中從Hadoop功能上來分,可分為DataNode和NameNode。DataNode負(fù)責(zé)存儲(chǔ),NameNode負(fù)責(zé)管理DataNode在NameNode管理下為提供統(tǒng)一存儲(chǔ)服務(wù)。
3.2 SQL數(shù)據(jù)接口
Hadoop的HDFS實(shí)現(xiàn)了文件存儲(chǔ)功能,基于HDFS之上的Hbase實(shí)現(xiàn)了Hadoop的數(shù)據(jù)庫存儲(chǔ)功能,Hive實(shí)現(xiàn)了SQL式的數(shù)據(jù)接口功能,如圖2所示。HDFS實(shí)現(xiàn)了檔案管理存儲(chǔ)系統(tǒng)的底層數(shù)據(jù)存儲(chǔ)功能,Hbase是在Hadoop的基礎(chǔ)上實(shí)現(xiàn)了結(jié)構(gòu)化式的數(shù)據(jù)庫存儲(chǔ)。Hive作為Hadoop的數(shù)據(jù)倉庫工具,可以將Hbase式的結(jié)構(gòu)化數(shù)據(jù)文件轉(zhuǎn)換成一個(gè)對應(yīng)的二維數(shù)庫表,從而提供相關(guān)的SQL式的數(shù)據(jù)管理功能,進(jìn)而將SQL語句提交給MapReduce進(jìn)行分存式處理。
為了檢測本文所設(shè)計(jì)檔案管理存儲(chǔ)系統(tǒng)的性能,分別對該系統(tǒng)的SQL數(shù)據(jù)口進(jìn)行測試。
由于服務(wù)器資源有限,通過VMware虛擬出6臺(tái)虛機(jī)進(jìn)行測試,虛擬測試環(huán)境,如表1所示。
表1 硬件環(huán)境
測試軟件環(huán)境如下:操作系統(tǒng):RHEL 7.1;Hadoop版本:Hadoop-2.2.0;Hive版本:Hive-0.13.1;Hbase版本:Hbase-0.96.2。
為了直觀表現(xiàn)出基于Hadoop的高校檔案管理存儲(chǔ)系統(tǒng)的SQL數(shù)據(jù)接口性能,通過和Oracle進(jìn)行對比實(shí)驗(yàn),分別將400萬條數(shù)據(jù),總的數(shù)據(jù)量為300GB寫入SQL數(shù)據(jù)接口與Oracle,每組寫約為30個(gè)GB,分10個(gè)小組進(jìn)行寫數(shù)據(jù)操作,平均寫速度為9.75Mb/s,而寫Oracle的平均速度為9.82Mb/s,如圖3所示。從中可以看出,SQL數(shù)據(jù)接口在性能與Oralce性能接近,若增加Hadoop的集群,SQL數(shù)據(jù)接口的性能將會(huì)隨之提升。
圖2 數(shù)據(jù)接口結(jié)構(gòu)
圖3 SQL數(shù)據(jù)接口性能測試
本文提出一種基于Hadoop的高校檔案管理存儲(chǔ)系統(tǒng),利用HDFS為作為檔案管理存儲(chǔ)系統(tǒng)的存儲(chǔ)系統(tǒng),通過HBase使Hadoop實(shí)現(xiàn)了數(shù)據(jù)庫的功能,通過Hive使結(jié)構(gòu)化的數(shù)據(jù)轉(zhuǎn)變?yōu)橐粡埍?,進(jìn)而實(shí)現(xiàn)了SQL式的數(shù)據(jù)訪問及管理功能。
[1]黃猛,羅樺,李洪兵.基于Hadoop的高校檔案館私有云存儲(chǔ)平臺(tái)的構(gòu)建[J].辦公自動(dòng)化(綜合版),2015(1):54-56.
[2]胡銳,胡伏原,陳麗春.基于Hadoop的高校公共數(shù)據(jù)平臺(tái)的構(gòu)建[J].蘇州科技學(xué)院學(xué)報(bào)(自然科學(xué)版),2015(3):52-53.
[3]崔杰,李陶深,蘭紅星.基于Hadoop的海量數(shù)據(jù)存儲(chǔ)平臺(tái)設(shè)計(jì)與開發(fā)[J].計(jì)算機(jī)研究與發(fā)展,2012(s1):12-18.
[4]胡銳,陳麗春.基于Hadoop的高校微課系統(tǒng)的研究與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2015(24):56-57.
[5]劉永增,張曉景,李先毅.基于Hadoop/Hive的web日志分析系統(tǒng)的設(shè)計(jì)[J].廣西大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(S1):314-317.
[6]謝恒,王梅,樂嘉錦,等.基于Hive的計(jì)算結(jié)果特征提取與重用策略[J].計(jì)算機(jī)研究與發(fā)展,2015(9):2014-2024.
Research on the archives management and storage system of universities and colleges based on Hadoop
Hu Rui
(Network and Educational Technology Center of Suzhou University of Science and Technology, Suzhou 215009, China)
With the development of university informationization, archives management in colleges and universities began developing towards the paperless. Archives information resource data is increasing exponentially, thus it is diffcult for existing archives management system to meet the management requirement. Therefore, constructing an archives management and storage system has become particularly important. This paper introduces an archives management and storage system taking Hadoop technique as the basic construction, to meet the growing storage demand for archives data.
Hadoop; Hive; archives management; storage system
胡銳(1986— ),男,安徽六安,碩士,CCF會(huì)員,助理工程師;研究方向:大數(shù)據(jù)與物聯(lián)網(wǎng)。