分布式虛擬卷存儲系統(tǒng)的設(shè)計與實現(xiàn)
發(fā)布時間:2021-07-27 23:55
在應(yīng)對不同容量規(guī)模的文件存儲的場景里,現(xiàn)有分布式存儲系統(tǒng)采用的存儲策略是固定文件分塊大小的方式,如GFS和HDFS等,固定分塊目的是為了提高服務(wù)器并行寫入數(shù)據(jù)的性能和減少中心節(jié)點元數(shù)據(jù)。但隨之而來,在存儲小文件或大文件末尾塊時,易產(chǎn)生磁盤碎片。此外現(xiàn)有分布式存儲系統(tǒng)在頻繁訪問熱點文件時,可能造成系統(tǒng)過載問題。因此,本文利用靈活的分塊策略和高性能的緩存策略,設(shè)計了分布式虛擬卷存儲系統(tǒng)。具體研究內(nèi)容如下:1.基于滑動窗口的數(shù)據(jù)分塊方法。在進行文件存儲時,對文件進行分割,將文件以最優(yōu)分塊大小進行存儲,一方面使得整個存儲系統(tǒng)擁有更好的文件均勻度另一方面減少冗余數(shù)據(jù)的存儲。2.中心節(jié)點選舉與調(diào)度任務(wù)算法。中心節(jié)點通過選舉來避免單節(jié)點故障而導(dǎo)致整個集群不能工作,提高系統(tǒng)高可用性;調(diào)度任務(wù)算法是一種基于節(jié)點容量感知的帶虛擬節(jié)點的一致性哈希,通常意義下的帶虛擬節(jié)點的一致性哈希視所有物理節(jié)點均是一樣的,而容量感知的帶虛擬節(jié)點的一致性哈希充分考慮到物理節(jié)點的差異性,從而讓系統(tǒng)達到負(fù)載均衡的狀態(tài)。3.內(nèi)存緩存結(jié)構(gòu)組織設(shè)計與其淘汰算法。緩存節(jié)點使用更優(yōu)化的內(nèi)存緩存結(jié)構(gòu)減少內(nèi)存碎片;使用2Q淘汰算法保證熱點數(shù)據(jù)...
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:90 頁
【學(xué)位級別】:碩士
【部分圖文】:
Alluxio架構(gòu)圖
第一章緒論3文件。圖1-2Alluxio的HA集群如圖1-2所示,HA(HighAvailable)集群中各個節(jié)點的角色及其負(fù)責(zé)的任務(wù)。a)LeadingMaster。它代表著主master節(jié)點,負(fù)責(zé)集群的運轉(zhuǎn)。LeadingMaster節(jié)點上保存著集群相關(guān)的元數(shù)據(jù),包括文件系統(tǒng)元數(shù)據(jù)信息、塊的元數(shù)據(jù)信息和worker節(jié)點容量信息,客戶端要修改系統(tǒng)元數(shù)據(jù)的話,需要與LeadingMaster交互。同時系統(tǒng)中的Workers節(jié)點要與LeadingMaster保持心跳,在集群運轉(zhuǎn)時,LeadingMaster會在日志中記錄下所有對文件的操作。b)StandbyMaster。它作為備用Master節(jié)點。為了能夠在master宕機后提供容錯功能,它需要運行在與LeadingMaster不同的服務(wù)器上。為了能在接替Leadingmaster角色,提供正常服務(wù),StandbyMaster會及時同步讀取LeadingMaster的日志,同步保持對文件的更改。c)SecondaryMaster。在當(dāng)Alluxio不處于HA模式時,可以在LeadingMaster服務(wù)器上啟動SecondaryMaster來實現(xiàn)journals檢查點功能,這樣也能夠一定程度上提高系統(tǒng)的可用性。當(dāng)LeadingMaster無法工作時,能夠提供快速服務(wù)恢復(fù);但與StandbyMaster不同的是SecondaryMaster不能代替舊LeadingMaster成為新LeadingMaster。d)JobMaster。JobMaster負(fù)責(zé)在Alluxio中異步處理文件系統(tǒng)的操作。二、WorkersWorkers所負(fù)責(zé)的功能是管理本服務(wù)器的資源(例如內(nèi)存,SSD,HDD),并在適當(dāng)時候分配給Alluxio用戶。而JobWorkers可以看作是Alluxio底層文件系統(tǒng)的客戶端,負(fù)責(zé)的是執(zhí)行JobMaster所安排的任務(wù),JobWorker
電子科技大學(xué)碩士學(xué)位論文4在寫入數(shù)據(jù)的時候會將數(shù)據(jù)分割為若干個block存儲到底層文件系統(tǒng)中;具體的文件和block的對應(yīng)關(guān)系作為文件元數(shù)據(jù)存儲在Master節(jié)點中,如圖1-3所示,圖1-3Alluxio的Worker模塊三、ClientAlluxioclient是用戶和Alluxio集群交互的接口,可以理解成一個中間網(wǎng)關(guān)。在系統(tǒng)交互流程中,client會首先向LeadingMaster節(jié)點獲取文件元數(shù)據(jù)中塊的位置信息,然后再與workers節(jié)點進行具體讀寫過程。1.3本文的主要貢獻與創(chuàng)新本文針對于現(xiàn)有繁多的分布式存儲系統(tǒng),設(shè)計并實現(xiàn)了一個統(tǒng)一的存儲層,分布式虛擬卷存儲系統(tǒng)。在上層不同的I/O類型,大文件類型、小文件類型、隨機讀寫或者是順序?qū)懭,全部使用同一種操作語義——卷語義。本文首先分析了分布式虛擬卷存儲系統(tǒng)應(yīng)用背景,然后對系統(tǒng)從需求、設(shè)計、實現(xiàn)和測試四個方面進行闡述。本文的主要貢獻與創(chuàng)新體現(xiàn)在以下幾點:1.系統(tǒng)的中心節(jié)點采用主從備份的形式,為讓中心節(jié)點能夠完整主從選舉,設(shè)計和實現(xiàn)了選舉集群,選舉集群內(nèi)部保證一致性,同時選舉集群給外部提供一把分布式鎖的概念,哪個中心節(jié)點加鎖成功就可以成為主節(jié)點,反之則成為備節(jié)點。2.中心節(jié)點調(diào)度緩存節(jié)點的容量感知算法,此算法依據(jù)節(jié)點的負(fù)載情況,能夠自適應(yīng)的調(diào)節(jié)緩存節(jié)點的空間分配和任務(wù)處理。
本文編號:3306789
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:90 頁
【學(xué)位級別】:碩士
【部分圖文】:
Alluxio架構(gòu)圖
第一章緒論3文件。圖1-2Alluxio的HA集群如圖1-2所示,HA(HighAvailable)集群中各個節(jié)點的角色及其負(fù)責(zé)的任務(wù)。a)LeadingMaster。它代表著主master節(jié)點,負(fù)責(zé)集群的運轉(zhuǎn)。LeadingMaster節(jié)點上保存著集群相關(guān)的元數(shù)據(jù),包括文件系統(tǒng)元數(shù)據(jù)信息、塊的元數(shù)據(jù)信息和worker節(jié)點容量信息,客戶端要修改系統(tǒng)元數(shù)據(jù)的話,需要與LeadingMaster交互。同時系統(tǒng)中的Workers節(jié)點要與LeadingMaster保持心跳,在集群運轉(zhuǎn)時,LeadingMaster會在日志中記錄下所有對文件的操作。b)StandbyMaster。它作為備用Master節(jié)點。為了能夠在master宕機后提供容錯功能,它需要運行在與LeadingMaster不同的服務(wù)器上。為了能在接替Leadingmaster角色,提供正常服務(wù),StandbyMaster會及時同步讀取LeadingMaster的日志,同步保持對文件的更改。c)SecondaryMaster。在當(dāng)Alluxio不處于HA模式時,可以在LeadingMaster服務(wù)器上啟動SecondaryMaster來實現(xiàn)journals檢查點功能,這樣也能夠一定程度上提高系統(tǒng)的可用性。當(dāng)LeadingMaster無法工作時,能夠提供快速服務(wù)恢復(fù);但與StandbyMaster不同的是SecondaryMaster不能代替舊LeadingMaster成為新LeadingMaster。d)JobMaster。JobMaster負(fù)責(zé)在Alluxio中異步處理文件系統(tǒng)的操作。二、WorkersWorkers所負(fù)責(zé)的功能是管理本服務(wù)器的資源(例如內(nèi)存,SSD,HDD),并在適當(dāng)時候分配給Alluxio用戶。而JobWorkers可以看作是Alluxio底層文件系統(tǒng)的客戶端,負(fù)責(zé)的是執(zhí)行JobMaster所安排的任務(wù),JobWorker
電子科技大學(xué)碩士學(xué)位論文4在寫入數(shù)據(jù)的時候會將數(shù)據(jù)分割為若干個block存儲到底層文件系統(tǒng)中;具體的文件和block的對應(yīng)關(guān)系作為文件元數(shù)據(jù)存儲在Master節(jié)點中,如圖1-3所示,圖1-3Alluxio的Worker模塊三、ClientAlluxioclient是用戶和Alluxio集群交互的接口,可以理解成一個中間網(wǎng)關(guān)。在系統(tǒng)交互流程中,client會首先向LeadingMaster節(jié)點獲取文件元數(shù)據(jù)中塊的位置信息,然后再與workers節(jié)點進行具體讀寫過程。1.3本文的主要貢獻與創(chuàng)新本文針對于現(xiàn)有繁多的分布式存儲系統(tǒng),設(shè)計并實現(xiàn)了一個統(tǒng)一的存儲層,分布式虛擬卷存儲系統(tǒng)。在上層不同的I/O類型,大文件類型、小文件類型、隨機讀寫或者是順序?qū)懭,全部使用同一種操作語義——卷語義。本文首先分析了分布式虛擬卷存儲系統(tǒng)應(yīng)用背景,然后對系統(tǒng)從需求、設(shè)計、實現(xiàn)和測試四個方面進行闡述。本文的主要貢獻與創(chuàng)新體現(xiàn)在以下幾點:1.系統(tǒng)的中心節(jié)點采用主從備份的形式,為讓中心節(jié)點能夠完整主從選舉,設(shè)計和實現(xiàn)了選舉集群,選舉集群內(nèi)部保證一致性,同時選舉集群給外部提供一把分布式鎖的概念,哪個中心節(jié)點加鎖成功就可以成為主節(jié)點,反之則成為備節(jié)點。2.中心節(jié)點調(diào)度緩存節(jié)點的容量感知算法,此算法依據(jù)節(jié)點的負(fù)載情況,能夠自適應(yīng)的調(diào)節(jié)緩存節(jié)點的空間分配和任務(wù)處理。
本文編號:3306789
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3306789.html
最近更新
教材專著