引言
目前,許多來自于電信行業(yè)、石油石化行業(yè)、數(shù)字媒體行業(yè)、醫(yī)療行業(yè),以及Web2.0、金融分析行業(yè)的企業(yè)級用戶,正面臨文件和數(shù)據(jù)量的指數(shù)級增長,現(xiàn)有的文件存儲設(shè)施不能適應(yīng)業(yè)務(wù)增長,系統(tǒng)管理復(fù)雜,系統(tǒng)成本、運營成本不斷上升,存儲設(shè)施面臨著多重挑戰(zhàn)等問題。如郵件、圖片、音頻、視頻等非結(jié)構(gòu)化數(shù)據(jù)爆炸性增長;越來越多的企業(yè)級應(yīng)用對高性能聯(lián)機事務(wù)處理能力和復(fù)雜查詢操作能力的需求不斷提高;對數(shù)據(jù)訪問帶寬和響應(yīng)時間以及數(shù)據(jù)的并行訪問業(yè)務(wù)有更高的要求;企業(yè)現(xiàn)有系統(tǒng)的擴展能力差,難以滿足企業(yè)快速變化的業(yè)務(wù)需求。傳統(tǒng)的NAS方案擴展能力有限,并且面向企業(yè)級的NAS設(shè)備價格往往非常昂貴,購買以及安裝獨立的NAS設(shè)備,將面臨著巨大的經(jīng)濟壓力和額外的維護成本。因此,為企業(yè)提供一種經(jīng)濟可行的、易于管理的存儲平臺,可以幫助企業(yè)使用盡可能低的成本完成數(shù)據(jù)與計算雙重密集型任務(wù)。
云計算具有動態(tài)部署的功能,可以利用廉價的服務(wù)器構(gòu)建企業(yè)級存儲平臺,具有更加彈性、更加安全以及更低的成本。尤其是私有云能夠保護企業(yè)核心數(shù)據(jù)的安全,相比公共云服務(wù),私有云服務(wù)所帶來的風(fēng)險會降低很多。企業(yè)針對關(guān)鍵業(yè)務(wù)應(yīng)用、核心數(shù)據(jù)存儲以及數(shù)據(jù)的高可靠性需求上更容易接受企業(yè)私有云的運營模式。
1 企業(yè)私有云存儲模式
1.1 Hadoop 分布式計算開源框架
Hadoop是Apache下的一個開源項目,由HDFS、MapReduce、HBase、Hive和ZooKeeper等項目組成。Hadoop 主要由兩部分構(gòu)成:Hadoop 分布式文件系統(tǒng)(HDFS)和在HDFS上的MapReduce 編程模型實現(xiàn)[3]。HDFS是Google GFS的開源版本的實現(xiàn),作為一個高度容錯的分布式文件系統(tǒng),它能夠提供高吞吐量的數(shù)據(jù)訪問,適合存儲海量(PB 級)的大文件(通常超過64 M),其原理見圖1。
圖1 HDFS 分布式文件系統(tǒng)架構(gòu)
HDFS采用Master/Slave 結(jié)構(gòu)。其中NameNode主要負(fù)責(zé)維護集群內(nèi)的元數(shù)據(jù),所有塊的元數(shù)據(jù)都被注冊在NameNode,對外提供創(chuàng)建、打開、刪除和重命名文件或目錄的功能。DataNode負(fù)責(zé)存儲數(shù)據(jù),并提負(fù)責(zé)處理數(shù)據(jù)的讀寫請求。DataNode定期向NameNode上報心跳,NameNode通過響應(yīng)心跳來控制DataNode。
Hadoop HBase是基于Google Bigtable的開源實現(xiàn),屬于Hadoop的一個子項目。Hadoop HBase可通過利用Hadoop HDFS提供的文件存儲系統(tǒng),HadoopMapReduce 提供的海量數(shù)據(jù)處理能力和HadoopZookeeper提供的協(xié)同服務(wù),構(gòu)建一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng)。這種分布式存儲系統(tǒng)的特點是實現(xiàn)可在廉價節(jié)點上搭建起大規(guī)模結(jié)構(gòu)化存儲集群。HBase由一個主節(jié)點(Master)協(xié)調(diào)一個或多個區(qū)域服務(wù)器(Regionserver)從節(jié)點組成,見圖2。
Hadoop HBase主節(jié)點負(fù)責(zé)引導(dǎo)初始安裝,分配區(qū)域給已注冊的區(qū)域服務(wù)器,恢復(fù)區(qū)域服務(wù)器的故障。主節(jié)點負(fù)載較輕,區(qū)域服務(wù)器0到多個區(qū)域,響應(yīng)客戶端的讀/寫請求。區(qū)域服務(wù)器同時負(fù)責(zé)通知主節(jié)點,區(qū)域分裂新的子區(qū)域的信息,以便主節(jié)點管理父區(qū)域的下線及替代子區(qū)域的分派。HBase依賴于Zookeeper提供協(xié)同服務(wù),默認(rèn)情況下,一個HBase對應(yīng)一個Zookeeper實例為集群狀態(tài)提供授權(quán)。
圖2 HBase 系統(tǒng)總體結(jié)構(gòu)
1.2 云存儲模式與傳統(tǒng)存儲模式比較
云存儲概念是在云計算概念上延伸和發(fā)展出來的一個新的概念。云存儲的本質(zhì)是服務(wù),云存儲通過計算機集群技術(shù)、網(wǎng)格技術(shù)和分布式文件系統(tǒng)等技術(shù),將網(wǎng)絡(luò)中大量各種不同類型的存儲設(shè)備組織起來協(xié)同工作,提供統(tǒng)一的數(shù)據(jù)存儲服務(wù)和業(yè)務(wù)訪問功能的一種存儲模式。企業(yè)私有云存儲模式實現(xiàn)企業(yè)現(xiàn)有資源的改造擴展,從而應(yīng)對企業(yè)級用戶高速增長的數(shù)據(jù)量存儲業(yè)務(wù)與數(shù)據(jù)高速處理業(yè)務(wù)。
云存儲模式比較傳統(tǒng)存儲模式具有如下特點:第一,在功能上,相比傳統(tǒng)存儲模式面向如高性能計算、事務(wù)處理應(yīng)用,云存儲模式具有面向多種類型的網(wǎng)絡(luò)在線存儲服務(wù)的特點;第二,在性能上,云存儲模式具有高數(shù)據(jù)安全性、高可靠性、高效率,以及適合處理大規(guī)模用戶、網(wǎng)絡(luò)環(huán)境復(fù)雜多變等業(yè)務(wù)的特點;第三,在數(shù)據(jù)管理功能上,云存儲模式需要滿足傳統(tǒng)文件訪問方式,同時能夠支持海量數(shù)據(jù)管理并提供公共服務(wù)支撐功能,以方便云存儲系統(tǒng)后臺數(shù)據(jù)的維護。
基于上述特點,云存儲模式整體架構(gòu)自底向上依次是:數(shù)據(jù)存儲層、數(shù)據(jù)管理層、數(shù)據(jù)服務(wù)層以及云端應(yīng)用層。數(shù)據(jù)存儲層包括底層的存儲介質(zhì)部署、計算機集群搭建以及設(shè)備虛擬化過程;數(shù)據(jù)管理層實現(xiàn)用戶權(quán)限控制、數(shù)據(jù)安全等業(yè)務(wù);數(shù)據(jù)服務(wù)層實現(xiàn)數(shù)據(jù)存儲、共享和備份業(yè)務(wù)邏輯;云端應(yīng)用層實現(xiàn)用戶的定制業(yè)務(wù)。云存儲模式整體架構(gòu)見圖3。
圖3 云存儲模式整體架構(gòu)
2 企業(yè)私有云存儲架構(gòu)模型
HDFS具有高容錯性和高吞吐量,以較低的成本將海量文件存儲在普通機器集群上[8]。HDFS作為企業(yè)私有云存儲平臺的底層分布式文件系統(tǒng),適合處理和存儲大文件。但是,HDFS系統(tǒng)結(jié)構(gòu)不適合小文件的處理和存儲業(yè)務(wù),可以利用HDFS作為對象數(shù)據(jù)存儲容器,通過在HDFS上層構(gòu)建一個抽象層,對外提供對象存儲功能。基于Hadoop的企業(yè)私有云存儲架構(gòu)模型見圖4。
模型由對象訪問接口層、對象元數(shù)據(jù)存儲層、對象實體數(shù)據(jù)存儲和數(shù)據(jù)歸檔管理層四部分組成。對象訪問接口層對外提供API接口供上層云應(yīng)用業(yè)務(wù)調(diào)用,同時提供了REST、SOAP和HTTPS支持WEB業(yè)務(wù)的訪問,提供NFS網(wǎng)關(guān)實現(xiàn)網(wǎng)絡(luò)文件共享服務(wù)。對象元數(shù)據(jù)存儲層是基于HBase實現(xiàn),負(fù)責(zé)對象數(shù)據(jù)創(chuàng)建、查詢和刪除等業(yè)務(wù),利用HBase可以滿足系統(tǒng)的擴展性和高可靠性。對象實體數(shù)據(jù)存儲基于HDFS分布式文件系統(tǒng),能夠?qū)崿F(xiàn)對象數(shù)據(jù)和歸檔文件的可靠存儲,同時支持?jǐn)?shù)據(jù)冗余。數(shù)據(jù)歸檔管理層利用Hadoop MapReduce模塊實現(xiàn)對零散小對象文件的歸檔業(yè)務(wù),以及歸檔文件存儲管理和失效對象的磁盤空間回收等功能。
圖4 基于Hadoop 的企業(yè)私有云存儲架構(gòu)模型
對象訪問接口層提供了主流的Web服務(wù)接口,主要負(fù)責(zé)為云端應(yīng)用提供訪問接口。在Hadoop開源框架下實現(xiàn)可供應(yīng)用層調(diào)用的API接口、外部應(yīng)用可以通過接口調(diào)用實現(xiàn)對對象元數(shù)據(jù)的創(chuàng)建、查詢和刪除等功能。
對象元數(shù)據(jù)存儲層主要利用HBase開源架構(gòu)實現(xiàn)了對象元數(shù)據(jù)的管理等功能。HBase介于NoSQL和RDBMS之間,僅能通過主鍵(row key)和主鍵的range來檢索數(shù)據(jù),僅支持單行事務(wù)。該模型的對象元數(shù)據(jù)存儲層共設(shè)計了三張表,分別是用于存儲對象元數(shù)據(jù)索引信息的索引容器表,索引容器表結(jié)構(gòu)見表1,用于描述對象元數(shù)據(jù)信息的對象元數(shù)據(jù)表,對象元數(shù)據(jù)索引表見表2和描述用戶刪除的失效數(shù)據(jù)的已刪除數(shù)據(jù)表,已刪除數(shù)據(jù)表結(jié)構(gòu)見表3。對象元數(shù)據(jù)存儲層建立在HBase之上,通過管理和維護這三張表實現(xiàn)了對象元數(shù)據(jù)的創(chuàng)建、查詢和刪除,以及小文件數(shù)據(jù)歸檔的功能。當(dāng)訪問層提交創(chuàng)建數(shù)據(jù)請求后,系統(tǒng)會檢查訪問合法性和索引容器表的容量,如果索引容器表的容量不夠,將會創(chuàng)建一條新的對象元數(shù)據(jù)索引容器記錄。通過檢查后將對象元數(shù)據(jù)信息添加至對象元數(shù)據(jù)索引表,同時更新索引容器表的容量,最后將對象元數(shù)據(jù)存儲到HDFS文件系統(tǒng)中。當(dāng)訪問層提交刪除數(shù)據(jù)請求后,系統(tǒng)會檢查訪問合法性,通過檢查后刪除對象元數(shù)據(jù)在對象元數(shù)據(jù)索引表中的索引信息,同時在已刪除數(shù)據(jù)表添加一條刪除數(shù)據(jù)記錄,更新索引容器表容量,進入數(shù)據(jù)歸檔周期時,系統(tǒng)將會刪除HDFS文件系統(tǒng)中的對象元數(shù)據(jù)。
表1 索引容器表
表2 對象元數(shù)據(jù)索引表
表3 已刪除對象元數(shù)據(jù)表
數(shù)據(jù)歸檔管理層的主要任務(wù)是周期性執(zhí)行的MapReduce任務(wù),實現(xiàn)對象實體數(shù)據(jù)的歸檔和壓縮工作。系統(tǒng)周期性的掃描對象元數(shù)據(jù)存儲層元數(shù)據(jù)信息表,統(tǒng)計未歸檔的數(shù)據(jù)信息,根據(jù)配置的歸檔文件大小限制,對數(shù)據(jù)進行分組。分組完成后將每個分組中的對象文件合并到一個歸檔文件中,更新相關(guān)對象元數(shù)據(jù)信息表中的數(shù)據(jù)標(biāo)識信息。
3 結(jié)論
基于Hadoop實現(xiàn)的企業(yè)私有云存儲平臺,能夠為企業(yè)提供一種廉價的大規(guī)模數(shù)據(jù)存儲以及高速數(shù)據(jù)處理的解決方案。同時,該存儲平臺具有彈性擴展的特性,能夠滿足企業(yè)對存儲平臺實時的按需擴容的需求。基于HBase實現(xiàn)的對象存儲模型,以HDFS作為數(shù)據(jù)存儲的容器,解決了數(shù)據(jù)冗余備份的問題。針對企業(yè)部門眾多,各部門數(shù)據(jù)格式不同等情況[10],企業(yè)私有云存儲平臺解決了非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)存儲,以及存儲層的可靠性和可擴展性等問題。雖然HDFS系統(tǒng)結(jié)構(gòu)不適合存儲大量小文件,但是通過應(yīng)用MapReduce分布式計算處理架構(gòu)在后臺提供對象歸檔管理功能,使得該模型可以滿足大量小文件的存儲難題。同時,基于Hadoop的企業(yè)私有云存儲平臺在對象訪問接口層實現(xiàn)了功能豐富的接口,能夠滿足企業(yè)日益增長的應(yīng)用需求。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.lukmueng.com/
本文標(biāo)題:基于Hadoop 企業(yè)私有云存儲平臺的構(gòu)建
本文網(wǎng)址:http://m.lukmueng.com/html/support/1112156807.html