裴衣非,王艷艷,李海榮
(內(nèi)蒙古科技大學(xué)工程訓(xùn)練中心,內(nèi)蒙古包頭,014010)
MapReduce是一種能有效對(duì)數(shù)據(jù)進(jìn)行處理的編程模式,主要采取的是文件系統(tǒng)以及數(shù)據(jù)管理兩種體系,前者以GFS格式呈現(xiàn),后者以BigTable格式呈現(xiàn)。基于MapReduce開源信息處理的Hadoop平臺(tái)受到了越來越多研究人員的關(guān)注,因此需要相關(guān)部門整合管控機(jī)制和管理措施,優(yōu)化管理流程,對(duì)商業(yè)計(jì)算模式中的分布式計(jì)算予以系統(tǒng)化整合,確保核心技術(shù)能發(fā)揮其實(shí)際優(yōu)勢(shì)。
Hadoop平臺(tái)是開源組織結(jié)合MapReduce工作原理進(jìn)行設(shè)置后形成的分布式處理框架體系,也是云計(jì)算環(huán)境中應(yīng)用較為廣泛的軟件項(xiàng)目。在系統(tǒng)結(jié)構(gòu)中,要借助相應(yīng)程序完善硬件處理,實(shí)現(xiàn)容錯(cuò)和擴(kuò)展機(jī)制,從根本上提高可靠性和擴(kuò)展性,從而為系統(tǒng)運(yùn)行結(jié)構(gòu)升級(jí)創(chuàng)設(shè)良好的空間[1]。
Hadoop平臺(tái),主要分為HDFS、Hbase和MapReduce。
HDFS 主要應(yīng)用在硬件設(shè)備上,是整個(gè)平臺(tái)結(jié)構(gòu)的最底層系統(tǒng),能存儲(chǔ)有效性為TB級(jí)別的海量數(shù)據(jù),并且能為程序提供更加高吞吐量的數(shù)據(jù)訪問項(xiàng)目,在數(shù)據(jù)訪問過程中,其本身就存在一定的順序,更加適合對(duì)于數(shù)據(jù)較為密集型的項(xiàng)目予以分析和判定,從而得出有效的信息內(nèi)容和體系[2]。
Hbase 本身是開源實(shí)現(xiàn),其基本構(gòu)造是在底層之上,能為系統(tǒng)提供分布式數(shù)據(jù)庫服務(wù),在實(shí)際運(yùn)行過程中,也能按照存儲(chǔ)模式完成數(shù)據(jù)處理,并且優(yōu)化實(shí)時(shí)讀寫項(xiàng)目,為規(guī)劃數(shù)據(jù)集隨機(jī)訪問提供保障,實(shí)現(xiàn)管理標(biāo)準(zhǔn)和管理目標(biāo)。
MapReduce 是整個(gè)平臺(tái)系統(tǒng)的核心部分,能有效對(duì)海量數(shù)據(jù)進(jìn)行分布式處理,并且在集群運(yùn)行體系建立后,完善應(yīng)用程序,其整體編程結(jié)構(gòu)和操作較為簡(jiǎn)單,因此,開發(fā)者在處理相關(guān)信息的過程中,只需要對(duì)數(shù)據(jù)進(jìn)行函數(shù)編寫即可,對(duì)任務(wù)調(diào)度和容錯(cuò)管理提供保障,從而真正優(yōu)化分布式應(yīng)用程序的完整性,為后續(xù)管理工作奠定了基礎(chǔ)。
在存儲(chǔ)系統(tǒng)設(shè)計(jì)的過程中,要對(duì)節(jié)點(diǎn)給予重視,較為常見的節(jié)點(diǎn)是數(shù)據(jù)節(jié)點(diǎn)和非數(shù)據(jù)節(jié)點(diǎn)。目前在大數(shù)據(jù)存儲(chǔ)系統(tǒng)中,數(shù)據(jù)節(jié)點(diǎn)主要是DataNode形式,而非數(shù)據(jù)節(jié)點(diǎn)則更加傾向于管理節(jié)點(diǎn)和監(jiān)控節(jié)點(diǎn),能為Matster節(jié)點(diǎn)所用。
Client節(jié)點(diǎn),這種節(jié)點(diǎn)在實(shí)際應(yīng)用過程中主要是獲取海量信息以及分布式系統(tǒng)的基礎(chǔ)性程序,能保證客戶訪問工作的完整性和實(shí)效性,并且借助網(wǎng)絡(luò)應(yīng)用業(yè)務(wù)服務(wù)器,也能對(duì)相關(guān)網(wǎng)絡(luò)結(jié)構(gòu)予以應(yīng)用,維護(hù)海量數(shù)據(jù)存儲(chǔ)系統(tǒng)的訪問接口,一定程度上升級(jí)主機(jī)和服務(wù)器管理效率。
DataNode節(jié)點(diǎn),其是整體系統(tǒng)結(jié)構(gòu)中的關(guān)鍵點(diǎn),不僅僅能負(fù)責(zé)常規(guī)化運(yùn)行任務(wù),保證數(shù)據(jù)存儲(chǔ)過程、查詢過程以及事務(wù)處理過程的完整性,也能結(jié)合系統(tǒng)的基本需求完善計(jì)算過程,確保相應(yīng)的節(jié)點(diǎn)參數(shù)之間能形成有效的關(guān)系,從而一定程度上升級(jí)系統(tǒng)之間的聯(lián)系程度。需要注意的是,在對(duì)節(jié)點(diǎn)進(jìn)行分析的過程中,相關(guān)人員能結(jié)合地域的鄰居節(jié)點(diǎn)和非鄰居節(jié)點(diǎn)對(duì)系統(tǒng)內(nèi)部分布式數(shù)據(jù)應(yīng)用展開深度分析。若是只存在一層關(guān)系管理的節(jié)點(diǎn)結(jié)構(gòu),則整個(gè)操作較為繁瑣,會(huì)對(duì)后續(xù)處理工作造成影響。因此,在研發(fā)相關(guān)數(shù)據(jù)體系的過程中,節(jié)點(diǎn)將系統(tǒng)分為三層管理層級(jí),能保證相同的域節(jié)點(diǎn)之間通信單價(jià)和質(zhì)量較好,并且為每個(gè)組內(nèi)關(guān)系節(jié)點(diǎn)的連接提供保障,一定程度上系統(tǒng)化分割同組的鄰居節(jié)點(diǎn)和不同組的遠(yuǎn)程節(jié)點(diǎn)[3]。
Matster節(jié)點(diǎn),此節(jié)點(diǎn)基本是上述負(fù)責(zé)系統(tǒng)的整體運(yùn)行狀態(tài),涉及到節(jié)點(diǎn)狀態(tài)、局部數(shù)據(jù)節(jié)點(diǎn)查詢狀態(tài)以及文件塊地址信息處理狀態(tài)等,在此基礎(chǔ)上,確保相關(guān)系統(tǒng)負(fù)載能力能滿足Matster節(jié)點(diǎn)的具體需求,為系統(tǒng)PC端完善處理效果提供保障,也能一定程度上升級(jí)系統(tǒng)內(nèi)管理節(jié)點(diǎn)的工作效率。
首先,要對(duì)主副本進(jìn)行節(jié)點(diǎn)編號(hào),不同節(jié)點(diǎn)在進(jìn)入到系統(tǒng)后,都能從Matster節(jié)點(diǎn)位置完成編號(hào)處理,相關(guān)人員則要應(yīng)用節(jié)點(diǎn)編號(hào)對(duì)具體問題展開深度分析,最終確認(rèn)地址。其次,判定副本個(gè)數(shù),結(jié)合副本個(gè)數(shù)對(duì)具體問題進(jìn)行分析和處理,按照對(duì)應(yīng)的顯示判定具體參數(shù)。最后,對(duì)副本所在節(jié)點(diǎn)編號(hào)進(jìn)行分析和整理,并且形成列表,能在保存相應(yīng)編號(hào)參數(shù)體系的基礎(chǔ)上,維護(hù)節(jié)點(diǎn)地址處理和系統(tǒng)編號(hào)訪問處理。在Matster節(jié)點(diǎn)體系中,要結(jié)合客戶信息形成客戶編號(hào),并且建立快照,能結(jié)合系統(tǒng)文件塊滿足地址信息索引的處理效果,為實(shí)現(xiàn)全局管控提供保障,也結(jié)合快照表對(duì)客戶信息進(jìn)行最終定位,一定程度上升級(jí)管控效果和管理流程完整性,滿足應(yīng)用服務(wù)其管控效果,并且訪問相應(yīng)節(jié)點(diǎn)。
例如,客戶編號(hào)1,對(duì)應(yīng)文件塊a;客戶編號(hào)2,對(duì)應(yīng)文件塊d;客戶編號(hào)3,對(duì)應(yīng)文件塊a;客戶編號(hào)4,對(duì)應(yīng)文件塊e。結(jié)合快照表就能將不同客戶的信息進(jìn)行整理,并且集中落實(shí)在信息體系內(nèi),除了能對(duì)快照表予以分析外,也能一定程度上升級(jí)處理效果和節(jié)點(diǎn)信息表數(shù)據(jù)水平。因此能得出文件塊副本信息表:文件塊xx對(duì)應(yīng)的節(jié)點(diǎn)信息是“節(jié)點(diǎn)xx|主副本/普通副本|可用/不可用”的形式。
在借助相應(yīng)技術(shù)對(duì)數(shù)據(jù)進(jìn)行分析的基礎(chǔ)上,也要設(shè)計(jì)有效的鎖控制服務(wù)模塊,對(duì)文件予以及時(shí)更新,尤其是在事務(wù)處理的過程中,要保證能建立動(dòng)態(tài)化管理流程。在事務(wù)中要更新的信息不在文件塊中,就不會(huì)在同一個(gè)節(jié)點(diǎn)內(nèi),此時(shí)需要對(duì)不同信息節(jié)點(diǎn)進(jìn)行協(xié)調(diào)管控,一定程度上進(jìn)一步整合流程。在事務(wù)更新體系內(nèi)判定其最終更新的成敗,若是成功則能直接提交,若是失敗則回滾。相較于傳統(tǒng)的算法,文件塊更新算法Chubby能更好地解決實(shí)際問題[4]。
Chubby算法能對(duì)一致性問題予以深度分析,并且在開發(fā)過程中完成具體的處理工作,利用系統(tǒng)解決一致性問題的同時(shí),保證程序架構(gòu)體系以及通信機(jī)制的有效性和完整性,也為后續(xù)提升整個(gè)系統(tǒng)運(yùn)行效率提供保障。
Chubby算法能對(duì)系統(tǒng)中的多數(shù)事件予以分析,將其最終的計(jì)算結(jié)果直接告知用戶或服務(wù)器,確保文件系統(tǒng)鎖定服務(wù)項(xiàng)目運(yùn)行的穩(wěn)定性,且能將變動(dòng)的問題直接寫入到文件中[5]。
Chubby算法是在鎖體系研發(fā)項(xiàng)目的基礎(chǔ)上,對(duì)接口進(jìn)行處理,盡管開發(fā)人員對(duì)其運(yùn)行體系有所了解,但是,系統(tǒng)中研究會(huì)應(yīng)用建議性鎖體系,而并沒有利用強(qiáng)制性鎖體系,整體組件結(jié)構(gòu)和信息交互項(xiàng)目更加有效,能一定程度上避免信息交互過程中訪問被禁止的問題。并且,算法中還應(yīng)用了粗粒度等服務(wù)類型,能從根本上提高整體系統(tǒng)運(yùn)行過程的穩(wěn)定性和安全性能,為后續(xù)操作過程的優(yōu)化升級(jí)奠定了堅(jiān)實(shí)基礎(chǔ)。
Chubby算法在實(shí)際應(yīng)用過程中會(huì)利用副本協(xié)調(diào)者作為參數(shù)分析基準(zhǔn),從客戶提供的數(shù)值中選取一個(gè),并且在消息分析后將其傳遞到其他副本處,針對(duì)不同副本的接受或拒絕都能進(jìn)行信息收集。在協(xié)調(diào)不同副本反饋后,就能保證信息的一致性,發(fā)送相關(guān)處理后的信息[6]。
值得一提的是,Chubby本身就存在全冗余策略,能在保證系統(tǒng)協(xié)議一致性的基礎(chǔ)上,完善控制的同步性,當(dāng)Client節(jié)點(diǎn)和Chubby算法之間要建立聯(lián)系時(shí),會(huì)借助event完成基礎(chǔ)性通信,一定程度上降低了通信頻率,且本地能保持相關(guān)的Chubby文件模塊,完善更新效果[7]。
設(shè)計(jì)事務(wù)故障恢復(fù)系統(tǒng):為了保證數(shù)據(jù)處理和管控的實(shí)效性,建構(gòu)完善的系統(tǒng)事務(wù)恢復(fù)機(jī)制十分有必要。相較于集中式數(shù)據(jù)庫處理,分布式數(shù)據(jù)庫事務(wù)故障恢復(fù)較為復(fù)雜,因此,在存儲(chǔ)結(jié)構(gòu)建立后,要實(shí)現(xiàn)云存儲(chǔ)系統(tǒng)事務(wù)恢復(fù)項(xiàng)和本地協(xié)作管理的體系,從而完成恢復(fù)模型。
在系統(tǒng)管理的基礎(chǔ)上,系統(tǒng)目錄存儲(chǔ)和管理工作都會(huì)分為若干個(gè)組群,能借助指定節(jié)點(diǎn)完成相應(yīng)的目錄服務(wù)項(xiàng),無論是應(yīng)用普通節(jié)點(diǎn)還是應(yīng)用主副本節(jié)點(diǎn),都要結(jié)合系統(tǒng)內(nèi)相關(guān)內(nèi)容完成節(jié)點(diǎn)操作。依據(jù)信息和節(jié)點(diǎn)管控體系進(jìn)行排序,確保已知節(jié)點(diǎn)分析系統(tǒng)的查詢結(jié)構(gòu)和完整性能為執(zhí)行效率優(yōu)化提供保障,尤其要對(duì)系統(tǒng)負(fù)載平衡算法展開統(tǒng)計(jì),盡量減少目錄查詢節(jié)點(diǎn)的其他任務(wù),保證數(shù)據(jù)存儲(chǔ)系統(tǒng)負(fù)載模塊能發(fā)揮其實(shí)際價(jià)值[8]。