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