一種高性能HDFS存儲平臺的研究與實(shí)現(xiàn)
發(fā)布時(shí)間:2019-11-04 11:21
【摘要】:近年來,云計(jì)算成為了互聯(lián)網(wǎng)行業(yè)最熱的話題之一。由于其高可靠性,高吞吐量及高可擴(kuò)展性,, Hadoop分布式文件系統(tǒng)HDFS成為了主流的云計(jì)算平臺的底層存儲系統(tǒng),政府、高校、科研機(jī)構(gòu)或者企事業(yè)單位均先后使用HDFS作為其集群的存儲平臺。然而,盡管HDFS有著良好的表現(xiàn),其在性能上仍然存在明顯的問題。比如NameNode的單點(diǎn)失效,數(shù)據(jù)存儲空間浪費(fèi),小文件存儲效率低等,F(xiàn)階段的國內(nèi)外研究往往僅針對上述單個(gè)問題作出分析與研究,沒有系統(tǒng)地將HDFS的性能問題進(jìn)行整合與改進(jìn)。 本文針對這些問題,設(shè)計(jì)與實(shí)現(xiàn)了一個(gè)高性能的HDFS存儲平臺。平臺采用內(nèi)存與硬盤的雙重元數(shù)據(jù)備份機(jī)制,在保證NameNode高可用性的同時(shí),降低了集群因NameNode宕機(jī)失效所需的恢復(fù)時(shí)間;在數(shù)據(jù)的存儲上,平臺采用基于ErasureCode的編碼存儲技術(shù),對文件分塊后的block數(shù)據(jù)進(jìn)行編碼存儲,降低了集群的副本數(shù)量,提高了存儲空間的利用率;平臺也對HDFS存儲小文件效率低的問題作出了改進(jìn),采用Hadoop提供的HAR文件格式,將小文件打包上傳,減輕了NameNode的元數(shù)據(jù)存儲壓力,也同時(shí)提高了小文件的讀寫速度。 文章最后通過一系列的實(shí)驗(yàn)來驗(yàn)證高性能HDFS存儲平臺在可用性,存儲效率上的優(yōu)勢,滿足了系統(tǒng)的設(shè)計(jì)要求。
【圖文】:
18一種高性能 HDFS 存儲平臺的研究與實(shí)現(xiàn)3) NavigableMap<String, DatanodeDescriptor> datanodeMap下面結(jié)合具體的代碼對元數(shù)據(jù)結(jié)構(gòu)進(jìn)行分析3.1.2 元數(shù)據(jù)結(jié)構(gòu)代碼分析先來看類 FSNamesystem 的三個(gè)重要成員變量,如圖 3.1 所示。package org.apache.hadoop.hdfs.server.namenode;FSNamesystem.java
下面結(jié)合具體的代碼對元數(shù)據(jù)結(jié)構(gòu)進(jìn)行分析3.1.2 元數(shù)據(jù)結(jié)構(gòu)代碼分析先來看類 FSNamesystem 的三個(gè)重要成員變量,如圖 3.1 所示。圖 3.1 FSNamesystem 類核心成員類 FSDirectory 實(shí)現(xiàn)了 INode 的管理,并且通過成員變量 fsImage 呈現(xiàn)了元數(shù)據(jù)信息的加載以及持久化存儲:package org.apache.hadoop.hdfs.server.namenode;FSNamesystem.javapublic class FSNamesystem implements FSConstant, FSNamesystemMBean,FSClusterStats {……public FSDirectory dir;BlockManager blockManager;NavigableMap<String, DatanodeDescriptor> datanodeMap = newTreeMap<String,DatanodeDescriptor>();……}package org.apache.hadoop.hdfs.server.namenode;FSDirectory.java
【學(xué)位授予單位】:西安電子科技大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2013
【分類號】:TP333
本文編號:2555607
【圖文】:
18一種高性能 HDFS 存儲平臺的研究與實(shí)現(xiàn)3) NavigableMap<String, DatanodeDescriptor> datanodeMap下面結(jié)合具體的代碼對元數(shù)據(jù)結(jié)構(gòu)進(jìn)行分析3.1.2 元數(shù)據(jù)結(jié)構(gòu)代碼分析先來看類 FSNamesystem 的三個(gè)重要成員變量,如圖 3.1 所示。package org.apache.hadoop.hdfs.server.namenode;FSNamesystem.java
下面結(jié)合具體的代碼對元數(shù)據(jù)結(jié)構(gòu)進(jìn)行分析3.1.2 元數(shù)據(jù)結(jié)構(gòu)代碼分析先來看類 FSNamesystem 的三個(gè)重要成員變量,如圖 3.1 所示。圖 3.1 FSNamesystem 類核心成員類 FSDirectory 實(shí)現(xiàn)了 INode 的管理,并且通過成員變量 fsImage 呈現(xiàn)了元數(shù)據(jù)信息的加載以及持久化存儲:package org.apache.hadoop.hdfs.server.namenode;FSNamesystem.javapublic class FSNamesystem implements FSConstant, FSNamesystemMBean,FSClusterStats {……public FSDirectory dir;BlockManager blockManager;NavigableMap<String, DatanodeDescriptor> datanodeMap = newTreeMap<String,DatanodeDescriptor>();……}package org.apache.hadoop.hdfs.server.namenode;FSDirectory.java
【學(xué)位授予單位】:西安電子科技大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2013
【分類號】:TP333
【參考文獻(xiàn)】
相關(guān)期刊論文 前1條
1 潘利偉;谷建華;朱靖飛;周志超;;基于Erasure Code的分布式文件存儲系統(tǒng)[J];計(jì)算機(jī)工程;2010年17期
本文編號:2555607
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2555607.html
最近更新
教材專著