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