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