云環(huán)境下信息系統(tǒng)可靠性研究
第1章 緒論
1.1 研究背景與意義
2015 年,在第十二屆全國人民代表大會第三次會議上,李克強總理提出制定“互聯(lián)網(wǎng)+”計劃。李克強提出,制定“互聯(lián)網(wǎng)+”行動計劃,推動移動互聯(lián)網(wǎng)、云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)等與現(xiàn)代制造業(yè)結(jié)合,促進(jìn)電子商務(wù)、工業(yè)互聯(lián)網(wǎng)和互聯(lián)網(wǎng)金融健康發(fā)展,引導(dǎo)互聯(lián)網(wǎng)企業(yè)拓展國際市場!盎ヂ(lián)網(wǎng)+”戰(zhàn)略就是在互聯(lián)網(wǎng)平臺上,通過信息通信技術(shù),把互聯(lián)網(wǎng)和其他行業(yè)相結(jié)合,在新領(lǐng)域創(chuàng)造一種新生態(tài)!盎ヂ(lián)網(wǎng)+”時代以用戶需求為目標(biāo),涉及通信、金融、餐飲、交通等傳統(tǒng)行業(yè),利用信息技術(shù),把產(chǎn)業(yè)服務(wù)互聯(lián)網(wǎng)化,把人與人的連接轉(zhuǎn)變成人與設(shè)備和服務(wù)的連接,實現(xiàn)了人們之間新的更便捷的交流方式!盎ヂ(lián)網(wǎng)+”是在傳統(tǒng)產(chǎn)業(yè)的基礎(chǔ)上的發(fā)展起來的,是對其的改進(jìn)和升級。近兩年,隨著計算機技術(shù)和互聯(lián)網(wǎng)的發(fā)展,云計算、物聯(lián)網(wǎng)等已經(jīng)融入到金融理財、打車訂餐等民生領(lǐng)域,PC 互聯(lián)網(wǎng)時代升級到移動互聯(lián)網(wǎng)時代。 云計算、大數(shù)據(jù)是“互聯(lián)網(wǎng)+”行動計劃的重要技術(shù)支撐。Google 的 Eric Schmidt 在 2006 年的搜索引擎大會(SES San Jose 2006)上首次提出云計算的概念。美國商業(yè)周刊在 2008 年發(fā)表的《Google 及其云智慧》中提到:“這項全新的遠(yuǎn)大戰(zhàn)略旨在把強大的超乎想象的計算能力分派到眾人手中!贝撕,云計算發(fā)展迅速,在信息技術(shù)領(lǐng)域大受歡迎,得到了社會各界的普遍關(guān)注。與其它云計算平臺相比,Hadoop 平臺的使用量最大,國內(nèi)外很多商業(yè)機構(gòu)和科研團體都搭建了 Haoop 集群來使用云計算服務(wù)。比如,IBM 的藍(lán)云項目、Yahoo 和Facebook 的云計算系統(tǒng)、Amazon 的 AWS(Amazon Web Services)等。目前,國內(nèi)很多企業(yè)都以 Hadoop 作為基礎(chǔ)框架來部署云計算中心。此外,Hadoop 也很受中小型企事業(yè)單位和高校研究團體的青睞,它能夠為企業(yè)提供安全可靠的云服務(wù),節(jié)省了開發(fā)成本。 云計算的本質(zhì)是云服務(wù),可靠性是評價其服務(wù)質(zhì)量的重要屬性。云計算具有虛擬化、彈性架構(gòu)、資源共享等復(fù)雜特性,因此基于云的信息系統(tǒng)故障會顯著增加,業(yè)務(wù)中斷、數(shù)據(jù)泄露等安全事件在國內(nèi)外都發(fā)生過。例如,美國聯(lián)合航空控制地面業(yè)務(wù)的系統(tǒng)發(fā)生宕機事件,業(yè)務(wù)癱瘓 2 小時,導(dǎo)致眾多乘客航班延誤而影響出行;微軟的 Azure 云和亞馬遜 AWS 云服務(wù)都發(fā)生過故障。一個微小的云計算錯誤由于連鎖反應(yīng)可能導(dǎo)致軟件系統(tǒng)的重大故障,從而造成資源損失以及業(yè)務(wù)中斷。不斷出現(xiàn)的云計算安全事件在提醒人們,信息系統(tǒng)可靠性問題已經(jīng)越來越重要,人們對云環(huán)境下信息系統(tǒng)的高可靠性需求也更加迫切?煽啃猿蔀橹萍s云計算發(fā)展的重要因素,提高信息系統(tǒng)的可靠性意義重大。
.........
1.2 國內(nèi)外研究現(xiàn)狀
現(xiàn)在云計算發(fā)展非常迅速,在眾多的平臺當(dāng)中,Hadoop 脫穎而出,幾乎成為云計算的代名詞。Hadoop 平臺的存儲、計算能力之所以強大,是因為系統(tǒng)中的節(jié)點數(shù)量之多,利用虛擬化技術(shù)整合位于不同節(jié)點上的空閑資源,于是便能獲得超強的計算能力?墒,Hadoop 底層硬件可能是異構(gòu)的,不同節(jié)點之間存在較大差異,如何實現(xiàn)數(shù)據(jù)存儲和資源調(diào)度,提高服務(wù)質(zhì)量并且達(dá)到系統(tǒng)的負(fù)載均衡,是 Hadoop 的重要研究方向?煽啃允窃骗h(huán)境下信息系統(tǒng)中非常重要的性能。HDFS 的可靠性是指數(shù)據(jù)不因節(jié)點的失效而丟失,比如磁盤損壞或者網(wǎng)絡(luò)中斷。Map Reduce 調(diào)度算法的目的是高效、可靠、資源利用率高,下面介紹有關(guān) HDFS 和 Map Reduce 國內(nèi)外的研究情況。 文獻(xiàn)[1-2]提出最小帶寬再生碼和 DRESS 失效節(jié)點可以隨機連接有效節(jié)點來進(jìn)行修復(fù),適用于對可靠性要求較高的大型分布式存儲系統(tǒng)。文獻(xiàn)[3]根據(jù)文件的歷史訪問記錄來選取合適的節(jié)點存取數(shù)據(jù),以使系統(tǒng)保持負(fù)載均衡狀態(tài),但是要存儲文件的訪問記錄。文獻(xiàn)[4]提出了一個副本管理機制 PRCR 來設(shè)置HDFS 系統(tǒng)中的副本數(shù)。它根據(jù)數(shù)據(jù)對可靠性的要求和預(yù)期存儲時間來決定副本的個數(shù)。該機制可能會引起副本存放不均衡導(dǎo)致網(wǎng)絡(luò)擁塞。文獻(xiàn)[5]用“Soft Worst Neighbor Choking”算法來解決系統(tǒng)中連接的拓?fù)浣Y(jié)構(gòu)問題,可以提高系統(tǒng)的可擴展性并減少服務(wù)器帶寬負(fù)載。文獻(xiàn)[6]提出了一種動態(tài)副本管理機制,通過 Data Node 節(jié)點的負(fù)載均衡情況和可靠性要求實現(xiàn)副本的動態(tài)管理,實現(xiàn)了副本動態(tài)管理,能夠有效節(jié)省存儲空間。文獻(xiàn)[7-8]設(shè)計了基于 HDFS 的動態(tài)副本管理模型,不僅給出如何確定副本數(shù)量而且提出了副本的位置選擇策略,可以保證負(fù)載均衡并且節(jié)省存儲空間,但是無法恢復(fù)備份失效的數(shù)據(jù)。文獻(xiàn)[9]是通過計算集群中網(wǎng)絡(luò)節(jié)點的負(fù)載狀況和節(jié)點之間的通信距離來選取合適的節(jié)點存放數(shù)據(jù)副本,有利于保持系統(tǒng)的負(fù)載均衡并選擇最小通信距離。
..........
第2章 Hadoop 與作業(yè)調(diào)度算法
2.1 Hadoop 技術(shù)
Hadoop 是由 Apache 開發(fā)的開源分布式計算平臺,是云計算研究和應(yīng)用最具代表性的產(chǎn)品。Hadoop 誕生于 2005 年,發(fā)展到現(xiàn)在才剛好 10 年的時間。在這短短 10 年的時間里,Hadoop 項目在互聯(lián)網(wǎng)領(lǐng)域得到了很好的發(fā)展,幾乎成了大數(shù)據(jù)的代名詞。它的出現(xiàn)受到 Google 實驗室“The Google File System”、“Map Reduce: Simplified Data Processing on Large Clusters”和“Bigtable: A Distributed Storage System for Structured Data”等文章的啟發(fā)。用戶不需要知道集群系統(tǒng)的詳細(xì)信息就能夠開發(fā)分布式應(yīng)用程序,直接使用由 Hadoop 統(tǒng)一起來的集群存儲資源、網(wǎng)絡(luò)資源和計算資源,大量數(shù)據(jù)能高速地運算與存儲。由于Hadoop 具有可擴展、成本低、高效、容錯能力強等特點,越來越多的企業(yè)組織把注意力集中到 Hadoop 上,目前,F(xiàn)acebook、亞馬遜、百度、阿里等國內(nèi)外各行業(yè)公司都利用 Hadoop 平臺進(jìn)行數(shù)據(jù)處理?梢,基于 Hadoop 的應(yīng)用已經(jīng)遍地開花,正悄然改變著整個行業(yè)的面貌。
...........
2.2 Hadoop 作業(yè)調(diào)度流程
Hadoop 中的 Map Reduce 任務(wù)都被初始化為一個作業(yè)(Job),在集群執(zhí)行過程中,允許多個作業(yè)同時運行。作業(yè)調(diào)度執(zhí)行是 Hadoop 中非常重要的一環(huán),下面將詳細(xì)介紹作業(yè)執(zhí)行情況和調(diào)度機制。Map Reduce 編程模型能夠?qū)崿F(xiàn)海量數(shù)據(jù)自動化分布式計算,當(dāng)用戶要運行程序時,就要定義相關(guān)數(shù)據(jù)操作函數(shù),包括 Map 和 Reduce 兩個階段,然后Map Reduce 就能夠自動劃分?jǐn)?shù)據(jù)集、分配任務(wù)以及并行計算等。一個 Map Reduce作業(yè)的執(zhí)行流程是:a.編寫代碼;b.作業(yè)配置;c.作業(yè)提交;d.Map 任務(wù)的分配和執(zhí)行;e.處理中間結(jié)果;f.Reduce 任務(wù)的分配和執(zhí)行;g.作業(yè)完成。其詳細(xì)的執(zhí)行流程如圖 2-3 所示。 作業(yè)提交后,會完全自動執(zhí)行。因此在作業(yè)提交之前應(yīng)該把程序代碼和路徑等設(shè)置完畢。用戶程序調(diào)用 Job Client 的 run Job()方法,提交Job Conf 對象之后,run Job()方法調(diào)用 submit Job()方法,將作業(yè)提交給 Job Tracker。run Job() 不 斷 循 環(huán) , 并 且 調(diào) 用 get Task Completion Events() 方 法 , 獲 取Task Completion Event 類的對象實例,了解作業(yè)的實時執(zhí)行情況。
第 3 章 基于選舉機制的 HDFS 結(jié)構(gòu)設(shè)計實現(xiàn) ............. 18
3.1 單點失效問題分析 ......... 18
3.1.1 解決方法 ........ 18
3.1.2 比較與分析 .... 21
3.2 Paxos 算法與通信模型 ............. 22
3.2.1 Paxos 一致性算法 .... 22
3.2.2 通信模型設(shè)計 .......... 23
3.3 HDFS 結(jié)構(gòu)設(shè)計實現(xiàn) ....... 24
3.4 本章小結(jié) ..... 29
第 4 章 JSBRNL 作業(yè)調(diào)度算法 ....... 30
4.1 節(jié)點和鏈路可靠性 ......... 30
4.1.1 網(wǎng)絡(luò)節(jié)點可靠性 ...... 30
4.1.2 網(wǎng)絡(luò)鏈路可靠性 ...... 31
4.2 調(diào)度模型 ..... 32
4.3 JSBRNL 調(diào)度算法 .......... 34
4.3.1 算法設(shè)計 ........ 34
4.3.2 算法流程及實現(xiàn) ...... 36
4.4 本章小結(jié) ..... 38
第 5 章 分析及驗證 ........ 39
5.1 實驗平臺 ..... 39
5.2 HDFS 架構(gòu)實驗分析 ....... 41
5.3 JSBRNL 算法實驗分析 ............ 43
5.4 本章小結(jié) ..... 46
第5章 分析及驗證
信息系統(tǒng)中 HDFS 只存在一個元數(shù)據(jù)服務(wù)器 Name Node 從而會引起單點失效的問題,通過構(gòu)建 Name Node 集群可以解決該問題;诰W(wǎng)絡(luò)節(jié)點和網(wǎng)絡(luò)鏈路可靠性的作業(yè)調(diào)度算法,在分析信息系統(tǒng)中節(jié)點和鏈路的負(fù)載及可靠性之后再進(jìn)行作業(yè)調(diào)度。本章分析信息系統(tǒng)的體系結(jié)構(gòu)并通過實驗對信息系統(tǒng)改進(jìn)的結(jié)構(gòu)以及調(diào)度算法進(jìn)行驗證分析。
云環(huán)境下的信息系統(tǒng)與傳統(tǒng)信息系統(tǒng)的主要不同之處在于對數(shù)據(jù)的存儲和處理方式不同,在 Hadoop 集群中,HDFS 負(fù)責(zé)存儲數(shù)據(jù),,而信息處理是通過Map Reduce 執(zhí)行的。在云環(huán)境下的信息系統(tǒng)中,終端用戶仍然通過瀏覽器進(jìn)行訪問,信息系統(tǒng)將用戶的請求進(jìn)行分析后發(fā)送到 Hadoop 集群的 Job Tracker 節(jié)點,Job Tracker 根據(jù)節(jié)點發(fā)送的請求執(zhí)行存儲或者計算操作。HDFS 中只存在一個Name Node 節(jié)點,極易造成單點失效導(dǎo)致整個集群崩潰,本文根據(jù) Paxos 算法對其結(jié)構(gòu)進(jìn)行改進(jìn),由幾個 Name Node 節(jié)點構(gòu)成,其中有一個 Master 節(jié)點以及若干個 Slave 節(jié)點。改進(jìn)后的信息系統(tǒng)體系結(jié)構(gòu)由圖 5-1 表示。由圖 5-1 可以看出,系統(tǒng)工作流程為:用戶通過瀏覽器訪問信息系統(tǒng)并提交請求,系統(tǒng)后臺服務(wù)器收到請求分析后轉(zhuǎn)發(fā)給 Hadoop 系統(tǒng)中的 Job Tracker節(jié)點;Job Tracker 節(jié)點分析接收到的請求,如果是有關(guān)數(shù)據(jù)讀寫則將操作命令發(fā)送給 Name Node 節(jié)點,如果是任務(wù)執(zhí)行,則調(diào)度相應(yīng)的 Task Tracker 節(jié)點執(zhí)行任務(wù);Name Node 節(jié)點若收到的是讀操作,則直接讀數(shù)據(jù)返回即可(包括 Master和 Slave),若收到的是寫操作,Slave 節(jié)點需要把請求發(fā)送給 Master 節(jié)點,根據(jù)Master 指示進(jìn)行操作。Job Tracker 按照一定的調(diào)度算法選擇合適的 Task Tracker節(jié)點并為之分配計算任務(wù),最后將結(jié)果依次返回。
..........
結(jié)論
隨著互聯(lián)網(wǎng)的飛速發(fā)展,云計算技術(shù)逐漸成為國內(nèi)外的重點研究對象。由于具有快速彈性、價格低、安全性高等特點,云計算受到各行業(yè)的青睞。Hadoop平臺具有非常強大的數(shù)據(jù)處理以及存儲能力,在眾多云計算平臺中脫穎而出,應(yīng)用廣泛。文中介紹了課題的研究背景與現(xiàn)狀,詳細(xì)描述了 Hadoop 的基礎(chǔ)框架體系結(jié)構(gòu)以及核心模塊 Map Reduce 與 HDFS,重點分析了 Map Reduce 計算框架的作業(yè)運行原理和調(diào)度流程。并在此基礎(chǔ)上完成了如下工作:
1.詳細(xì)闡述了 Hadoop 分布式文件系統(tǒng)和 Map Reduce 的結(jié)構(gòu)及原理,分析Map Reduce 的執(zhí)行過程和調(diào)度機制,研究 Hadoop 系統(tǒng)的調(diào)度算法并比較其優(yōu)缺點。
2.對 HDFS 基礎(chǔ)架構(gòu)進(jìn)行分析,針對其只有一個 Name Node 節(jié)點容易造成單點失效的問題改進(jìn)體系結(jié)構(gòu)。研究 Paxos 算法并提出 Master 選舉機制,在此基礎(chǔ)上構(gòu)建 Name Node 集群,代替單一節(jié)點。在改進(jìn)的體系結(jié)構(gòu)中,只要有 N/2+1個節(jié)點正常工作,系統(tǒng)就能正常運行,可靠性大大提高。
3.分析計算節(jié)點和網(wǎng)絡(luò)鏈路的可靠性以及影響因素,設(shè)計算法調(diào)度模型,提出基于網(wǎng)絡(luò)節(jié)點和網(wǎng)絡(luò)鏈路可靠性的作業(yè)調(diào)度算法(JSBRNL),并具體分析算法的設(shè)計思想和流程。
4.搭建 Hadoop 平臺對改進(jìn)的 HDFS 結(jié)構(gòu)與 JSBRNL 算法進(jìn)行驗證,結(jié)果表明,JSBRNL 算法的性能要明顯優(yōu)于 FIFO 算法,改進(jìn)的體系結(jié)構(gòu)可靠性提高了 0.19%,系統(tǒng)可靠性更高。
.........
參考文獻(xiàn)(略)
本文編號:75263
本文鏈接:http://sikaile.net/wenshubaike/lwfw/75263.html