智能計算平臺應(yīng)用開發(fā)(高級)-智能計算機應(yīng)用平臺開發(fā)數(shù)據(jù)存儲-智能計算機分布式文件系統(tǒng)_第1頁
智能計算平臺應(yīng)用開發(fā)(高級)-智能計算機應(yīng)用平臺開發(fā)數(shù)據(jù)存儲-智能計算機分布式文件系統(tǒng)_第2頁
智能計算平臺應(yīng)用開發(fā)(高級)-智能計算機應(yīng)用平臺開發(fā)數(shù)據(jù)存儲-智能計算機分布式文件系統(tǒng)_第3頁
智能計算平臺應(yīng)用開發(fā)(高級)-智能計算機應(yīng)用平臺開發(fā)數(shù)據(jù)存儲-智能計算機分布式文件系統(tǒng)_第4頁
智能計算平臺應(yīng)用開發(fā)(高級)-智能計算機應(yīng)用平臺開發(fā)數(shù)據(jù)存儲-智能計算機分布式文件系統(tǒng)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第4章數(shù)據(jù)存儲分布式存儲系統(tǒng)分布式數(shù)據(jù)庫分布式文件系統(tǒng)分布式文件系統(tǒng)分布式文件系統(tǒng)一般對用戶與上層應(yīng)用提供一個統(tǒng)一地文件操作接口,上層應(yīng)用能夠通過類似操作單機文件系統(tǒng)地方式,在分布式文件系統(tǒng)中進(jìn)行文件與目錄地増加,刪除,修改,查詢等操作。不同分布式文件系統(tǒng)在設(shè)計之初總是面向一個特定地問題,或是更方便用戶地使用,或是為計算框架做特定地優(yōu)化,或是為了解決之前分布式文件系統(tǒng)中地缺陷等。因此,不同地分布式文件系統(tǒng)會具有不同地設(shè)計方案,系統(tǒng)架構(gòu)與性能特性。常用地分布式文件系統(tǒng)工具——可擴(kuò)展性分布式文件系統(tǒng)能夠很好地適應(yīng)大規(guī)模地分布式環(huán)境。為了實現(xiàn)對海量文件數(shù)據(jù)地管理與維護(hù),分布式文件系統(tǒng)通常利用多個存儲節(jié)點分散文件數(shù)據(jù)。目前,一個具有良好可擴(kuò)展性地分布式文件系統(tǒng)己經(jīng)能夠順利運行在擁有數(shù)百個甚至上千個節(jié)點地集群環(huán)境中。此外,分布式文件系統(tǒng)地可擴(kuò)展性還包括支持動態(tài)地新増或者剔除一個或多個存儲節(jié)點,并借此達(dá)到動態(tài)擴(kuò)容,縮容與平衡負(fù)載地目地。常用地分布式文件系統(tǒng)工具——可靠性分布式文件系統(tǒng)提供可靠地文件存儲與管理服務(wù),用戶無須擔(dān)心數(shù)據(jù)地丟失。一個分布式文件系統(tǒng)地運行規(guī)模越大,其發(fā)生故障地概率就越高,可能同時面臨多個節(jié)點崩潰地情況。因此,不同地分布式文件系統(tǒng)都具有各自地容錯機制,首先需要盡可能地降低發(fā)生故障地概率,其次需要做到自動檢測故障地發(fā)生,并且能夠及時恢復(fù)因故障而丟失地文件數(shù)據(jù)。常用地分布式文件系統(tǒng)工具——易用性分布式文件系統(tǒng)能夠方便不同用戶地使用。作為一個文件系統(tǒng),分布式文件系統(tǒng)給用戶呈現(xiàn)地是一個統(tǒng)一地文件系統(tǒng)命名空間,隱藏了底層地實現(xiàn)細(xì)節(jié)。相比于傳統(tǒng)地單機文件系統(tǒng),分布式文件系統(tǒng)具有更為廣泛地應(yīng)用場景,因此它們通常為用戶與應(yīng)用提供了多種訪問方式與接口,權(quán)衡在不同場景下地性能與兼容性。常用地分布式文件系統(tǒng)工具——易用性為了優(yōu)化特定場景下地應(yīng)用,不同地分布式文件系統(tǒng)有著各自地設(shè)計側(cè)重點,最終導(dǎo)致了它們地不同特性。目前被廣泛使用且具有代表性地分布式文件系統(tǒng)GFSHDFSFastdFsAlluxio(原名Tachyon)CephFSLustreGlusterFS…….常用地分布式文件系統(tǒng)工具——易用性LustreLustre是基于Linux平臺地開源集群文件系統(tǒng),因其提供了與POSIX兼容地接口,所以大大擴(kuò)展了應(yīng)用領(lǐng)域。Lustre地大文件存儲性能良好,它通過基于對象地數(shù)據(jù)存儲格式,將同一數(shù)據(jù)文件分為若干對象,并分別存儲于不同地對象存儲設(shè)備。大文件I/O操作被分配到不同地對象存儲設(shè)備上并行實施,從而實現(xiàn)很大地聚合帶寬。常用地分布式文件系統(tǒng)工具——易用性Lustre文件系統(tǒng)組成部分元數(shù)據(jù)服務(wù)器MDS(MetadataServer);對象存儲服務(wù)器OSS(ObjectStorageServer);客戶端(LustreClient)。常用地分布式文件系統(tǒng)工具——易用性Ceph文件系統(tǒng)(CephFS)是一個兼容POSIX地文件系統(tǒng),利用Ceph存儲集群保存用戶數(shù)據(jù)。Linux內(nèi)核驅(qū)動程序支持CephFS,使得CephFS高度適用于各大Linux操作系統(tǒng)發(fā)行版。CephFS將數(shù)據(jù)與元數(shù)據(jù)分開存儲,為上層地應(yīng)用程序提供較高地性能以及可靠性。在Ceph集群內(nèi)部,Ceph文件系統(tǒng)庫(libcephfs)運行在RADOS庫(librados)之上,后者是Ceph存儲集群協(xié)議,由文件,塊與對象存儲共用。CephFS常用地分布式文件系統(tǒng)工具——易用性如果使用CephFS,那么集群節(jié)點上最少需要配置一個Ceph元數(shù)據(jù)服務(wù)器(MDS)。需要注意地是,單一地MDS服務(wù)將成為Ceph文件系統(tǒng)地單點故障。在MDS配置后,客戶端可以采用多種方式使用CephFS。如果需要把Ceph掛載成文件系統(tǒng),那么客戶端可以使用本地Linux內(nèi)核地功能或者使用Ceph社區(qū)提供地ceph-fuse(用戶空間文件系統(tǒng))驅(qū)動。CephFS可以用來替代HDFS。常用地分布式文件系統(tǒng)工具——易用性AlluxioAlluxio(之前名為Tachyon)是一個以內(nèi)存為中心地虛擬地分布式存儲系統(tǒng)。Alluxio統(tǒng)一了數(shù)據(jù)訪問地方式,為上層計算框架與底層存儲系統(tǒng)構(gòu)建了橋梁,應(yīng)用只需要連接Alluxio即可訪問存儲在底層任意存儲系統(tǒng)中地數(shù)據(jù)。此外,Alluxio地以內(nèi)存為中心地架構(gòu)使得數(shù)據(jù)地訪問速度比現(xiàn)有常規(guī)方案地訪問速度快幾個數(shù)量級。常用地分布式文件系統(tǒng)工具——易用性大數(shù)據(jù)領(lǐng)域最底層地是分布式文件系統(tǒng),如AmazonS3,ApacheHDFS等。較高層地應(yīng)用則是一些分布式計算框架,如Spark,MapReduce,HBase,Flink等,這些分布式框架往往都是直接從分布式文件系統(tǒng)中讀寫數(shù)據(jù),效率比較低,性能消耗比較大。常用地分布式文件系統(tǒng)工具——易用性Alluxio介于計算框架(如ApacheSpark,ApacheMapReduce,ApacheHBase,ApacheHive,ApacheFlink)與現(xiàn)有地存儲系統(tǒng)(如AmazonS3,OpenStackSwift,GlusterFS,HDFS,MaprFS,Ceph,NFS,OSS)之間,以文件地形式在內(nèi)存中對外提供讀寫訪問服務(wù),為大數(shù)據(jù)軟件棧帶來了顯著地性能提升。Alluxio與Hadoop兼容,在現(xiàn)有地數(shù)據(jù)分析應(yīng)用中,如Spark與MapReduce程序,都可以不修改代碼直接在Alluxio上運行。常用地分布式文件系統(tǒng)工具——易用性GlusterFS(GlusterFileSystem)是一個開源地分布式文件系統(tǒng),主要由ZRESEARCH公司負(fù)責(zé)開發(fā)。GlusterFS是Scale-Out(橫向擴(kuò)展)存儲解決方案Gluster地核心,具有強大地橫向擴(kuò)展能力,通過擴(kuò)展能夠支持?jǐn)?shù)PB存儲容量與處理數(shù)千客戶端。GlusterFS借助TCP/IP或InfiniBandRDMA網(wǎng)絡(luò)將物理分布地存儲資源聚集在一起,并使用單一全局命名空間來管理數(shù)據(jù)。GlusterFS常用地分布式文件系統(tǒng)工具——易用性GlusterFS文件系統(tǒng)組成部分存儲服務(wù)器(BrickServer);客戶端;NFS/Samba存儲網(wǎng)關(guān)。GlusterFS架構(gòu)中沒有元數(shù)據(jù)服務(wù)器組件,這是其最大地設(shè)計特點,對于提升整個系統(tǒng)地性能,可靠性與穩(wěn)定性都有著決定性地意義。常用地分布式文件系統(tǒng)工具——易用性幾種典型分布式文件系統(tǒng)比較名稱AlluxioCephFSHDFSGlusterFSLustreFastdFS整體架構(gòu)集中式集中式/多點集中式集中式/多點集中式分散式集中式/多點集中式集中式/多點集中式存儲介質(zhì)以內(nèi)存為中心,多層次基于硬盤基于硬盤基于硬盤基于硬盤基于硬盤容錯方式世系關(guān)系,多備份多副本多副本基于網(wǎng)絡(luò)地RAID(磁盤陣列)由存儲節(jié)點上地RAID1或RAID5/6提供容錯。假如存儲節(jié)點失效,則數(shù)據(jù)不可用多副本常用地分布式文件系統(tǒng)工具——易用性整體架構(gòu)整體架構(gòu)即分布式文件系統(tǒng)以何種架構(gòu)方式管理整個系統(tǒng)。集中式與分散式是分布式系統(tǒng)中兩個常用地架構(gòu)方式。常用地分布式文件系統(tǒng)工具——易用性集中式架構(gòu)對于分布式文件系統(tǒng),集中式架構(gòu)能夠很方便地對整個集群進(jìn)行監(jiān)測與管理,使得用戶與系統(tǒng)管理員都能及時了解不同節(jié)點地運行狀態(tài)。但是,集中式架構(gòu)地分布式文件系統(tǒng)需要承受單點故障地風(fēng)險,需要額外地模塊或組件保證系統(tǒng)地可靠性。分散式架構(gòu)地分布式文件系統(tǒng)具有良好地負(fù)載平衡特性,然而其需要在每個節(jié)點間進(jìn)行數(shù)據(jù)地同步。常用地分布式文件系統(tǒng)工具——易用性集中式架構(gòu)在所列舉地分布式文件系統(tǒng)中,Alluxio,CephFS,HDFS,Lustre與FastdFS都采用了集中式管理地方式,具體表現(xiàn)為主從式地架構(gòu)。例如,CephFS使用元數(shù)據(jù)服務(wù)器(MetaDataServer,MDS)管理所有元數(shù)據(jù)及整個系統(tǒng)地狀態(tài),具體地文件數(shù)據(jù)分散存儲在各個節(jié)點地對象存儲設(shè)備(ObjectStorageDevice,OSD)中。HDFS地所有元數(shù)據(jù)及系統(tǒng)運行狀態(tài)由NameNode(元數(shù)據(jù)節(jié)點)管理,由多節(jié)點地DataNode(數(shù)據(jù)存儲節(jié)點)存放具體地文件數(shù)據(jù)。常用地分布式文件系統(tǒng)工具——易用性部分分布式文件系統(tǒng)(如HDFS,CephFS,Lustre,FastdFS)還支持了一種"多點集中式"地管理方式。一個CephFS/HDFS集群中能夠擁有多個MDS/NameNode,避免大規(guī)模并發(fā)訪問時地單點瓶頸,同時也提高了整個系統(tǒng)地容錯能力。分散式架構(gòu)常用地分布式文件系統(tǒng)工具——易用性GlusterFS采用了分散式管理地方式,其所有元數(shù)據(jù)與文件數(shù)據(jù)通過一個分布式哈希表地機制遍布整個集群,節(jié)點之間通過定時地網(wǎng)絡(luò)通信相互告知運行狀態(tài)。采用分散式架構(gòu)地分布式文件系統(tǒng)通常由客戶端確定文件位置,所有客戶端共享一個統(tǒng)一地哈希算法,通過計算哈希值得到目的文件地位置,然后去對應(yīng)地節(jié)點訪問具體地文件數(shù)據(jù)。常用地分布式文件系統(tǒng)工具——易用性存儲介質(zhì)分布式文件系統(tǒng)存儲具體數(shù)據(jù)所使用地硬件設(shè)備。CephFS,GlusterFS,HDFS,Lustre與FastdFS均為基于硬盤地分布式文件系統(tǒng),它們在存儲數(shù)據(jù)塊地大小,讀寫緩沖區(qū)地大小等配置上都充分考慮地硬盤地特性。Alluxio作為一個更為新型地分布式文件系統(tǒng),以內(nèi)存為中心,充分利用了內(nèi)存級地數(shù)據(jù)訪問速度,同時為了保證足夠地存儲容量,Alluxio使用內(nèi)存,固態(tài)硬盤(SolidStateDisk,SSD)與硬盤驅(qū)動器(HardDiskDriver,HHD)構(gòu)建了一個層次化地存儲結(jié)構(gòu)。常用地分布式文件系統(tǒng)工具——易用性容錯方式分布式文件系統(tǒng)如何保證數(shù)據(jù)地可靠性。故障容忍與錯誤恢復(fù)機制一直是系統(tǒng)研究領(lǐng)域地重點,分布式文件系統(tǒng)也不例外。多副本與備份機制是分布式文件系統(tǒng)中常見地容錯方式,其實現(xiàn)原理簡單,不容易產(chǎn)生二次故障(即在錯誤恢復(fù)地過程中再次出錯),能夠達(dá)到很好地容錯效果。此外,新地容錯技術(shù)也在不斷出現(xiàn),如編碼方式等。常用地分布式文件系統(tǒng)工具——易用性CephFS,HDFS與FastdFS地容錯方式GlusterFS地容錯方式CephFS,HDFS與FastdFS都使用了多副本地方式進(jìn)行數(shù)據(jù)地容錯,通常情況下一份文件數(shù)據(jù)會被復(fù)制存放在2~3個數(shù)據(jù)存儲節(jié)點中,以此降低因節(jié)點崩潰而導(dǎo)致數(shù)據(jù)丟失地風(fēng)險。GlusterFS將傳統(tǒng)地基于磁盤地RAID容錯機制擴(kuò)展到了分布式環(huán)境下,在GlusterFS中,每個節(jié)點上存儲地數(shù)據(jù)被視為一個數(shù)據(jù)卷(Volume),在這些數(shù)據(jù)卷之間通過網(wǎng)絡(luò)構(gòu)造了一個RAID環(huán)境,達(dá)到數(shù)據(jù)容錯地效果。常用地分布式文件系統(tǒng)工具——易用性Alluxio地容錯方式Alluxio同時使用了世系關(guān)系(Linearge)與備份(Checkpoint)地方式保證數(shù)據(jù)可靠性,首先通過備份避免因節(jié)點故障而導(dǎo)致地數(shù)據(jù)丟失,然后通過記錄文件之間地世系關(guān)系,在文件丟失時進(jìn)行重計算,恢復(fù)丟失地數(shù)據(jù)。此外,對于整個系統(tǒng),Alluxio會自動重啟失效地數(shù)據(jù)存儲節(jié)點。分布式文件系統(tǒng)構(gòu)建與配置實例HDFS作為典型地分布式文件系統(tǒng),是目前大多數(shù)企業(yè)應(yīng)用地主流文件系統(tǒng),以HDFS為例,分析分布式文件系統(tǒng)構(gòu)建時地主要配置項。分布式文件系統(tǒng)構(gòu)建與配置實例——部署在HDFS中,NameNode與DataNode由于其功能角色地不同,在可靠性與可維護(hù)性上表現(xiàn)出地性能也不盡相同??煽啃苑矫鍺ameNode只有一個,一旦失效,將導(dǎo)致整個文件系統(tǒng)無法對外提供服務(wù)。DataNode數(shù)量眾多,即使失效導(dǎo)致所存儲數(shù)據(jù)塊無法使用,NameNode仍會通知客戶端訪問該數(shù)據(jù)塊所在地其它DataNode,使系統(tǒng)繼續(xù)正常運行,所以HDFS地可用性是由NameNode地可用性決定地。分布式文件系統(tǒng)構(gòu)建與配置實例——部署高可用(HighAvailability)Hadoop社區(qū)在Hadoop2.X版本中推出地了一種高可用(HighAvailability,HA)模式,解決了NameNode地單點故障問題,也是企業(yè)目前安裝地主要模式。分布式文件系統(tǒng)構(gòu)建與配置實例——部署HDFSHA模式地架構(gòu)分布式文件系統(tǒng)構(gòu)建與配置實例——部署主備節(jié)點系統(tǒng)中有兩類NameNode節(jié)點,即主NameNode節(jié)點與備NameNode節(jié)點,兩個節(jié)點形成互備。當(dāng)主NameNode節(jié)點宕機后,備NameNode節(jié)點直接接管服務(wù)繼續(xù)對外工作。主NameNode節(jié)點處于活動(Active)模式對外提供讀寫服務(wù)。備NameNode節(jié)點處于安全(Standby)模式作為備用節(jié)點。分布式文件系統(tǒng)構(gòu)建與配置實例——部署主備監(jiān)控及切換模塊主備監(jiān)控及切換模塊負(fù)責(zé)兩個NameNode節(jié)點地切換管理,通過對NameNode節(jié)點地監(jiān)控,及時檢測主NameNode節(jié)點健康狀態(tài),并在故障發(fā)生后利用Zookeeper實現(xiàn)節(jié)點地選舉與切換。Zookeeper集群Zookeeper集群在故障發(fā)生后,首先維護(hù)一個全局鎖,隔離故障NameNode節(jié)點,保證集群任何時候有且只有一個活躍地NameNode節(jié)點,然后利用內(nèi)部選舉機制完成主節(jié)點選舉,為主備監(jiān)控及切換模塊提供支持。分布式文件系統(tǒng)構(gòu)建與配置實例——部署QJM共享存儲系統(tǒng)QJM共享存儲系統(tǒng)屬于第三方存儲介質(zhì),利用JournalNode集群保存NameNode節(jié)點在運行過程中產(chǎn)生地命名空間元數(shù)據(jù),主節(jié)點與備用節(jié)點通過集群進(jìn)行命名空間地同步。DataNode節(jié)點除了QJM集群同步地命名空間,集群中所有數(shù)據(jù)塊到DataNode節(jié)點地映射信息也需要在主備節(jié)點間共享?;谠獢?shù)據(jù)一致與切換時間地考慮,HA方案中DataNode節(jié)點會將數(shù)據(jù)塊映射信息同時發(fā)送給主備節(jié)點。分布式文件系統(tǒng)構(gòu)建與配置實例——部署HDFSHA模式部署時,主要組件地配置原則及約束。組件名稱建議最小內(nèi)存(以實際環(huán)境為準(zhǔn))依賴關(guān)系組件業(yè)務(wù)部署原則NN(NameNode)4GB依賴于Zookeeper分別部署在2個控制節(jié)點上,主備配置JN(JournalNode)4GB至少部署在3個控制節(jié)點上,每個節(jié)點保留一份備份數(shù)據(jù),如需保留超過3份以上備份,則可部署多個,數(shù)量為奇數(shù)DN(DataNode)4GB每個集群至少部署3個,建議部署在數(shù)據(jù)節(jié)點分布式文件系統(tǒng)構(gòu)建與配置實例——部署NameNodeNameNode主備節(jié)點需要部署在兩個不同地控制節(jié)點上,以免控制節(jié)點故障導(dǎo)致主備NameNode節(jié)點同時下線,HDFS不可用JournalNodeJournalNode集群節(jié)點一半以上存活即可提供服務(wù),與Zookeeper相似,因此部署一般為奇數(shù)個,因為3個或者4個節(jié)點組成地集群,允許宕機地節(jié)點數(shù)都是1個。DataNodeDataNode節(jié)點用于存儲數(shù)據(jù),需要部署在磁盤空間比較大且專門用于存儲數(shù)據(jù)地數(shù)據(jù)節(jié)點。分布式文件系統(tǒng)構(gòu)建與配置實例——管理ApacheHadoop提供了原生地WebUI用于監(jiān)控HDFS分布式文件系統(tǒng)地資源。分布式文件系統(tǒng)構(gòu)建與配置實例——管理通過原生地WebUI即可監(jiān)控HDFS地整體資源使用情況。文件數(shù)目錄數(shù)文件塊DataNode節(jié)點狀態(tài)HDFS容量查看HDFS是否處于安全模式(Hadoop地一種保護(hù)機制)HDFS中地目錄或文件文件中地數(shù)據(jù)……分布式文件系統(tǒng)構(gòu)建與配置實例——管理HDFS文件系統(tǒng)監(jiān)控界面分布式文件系統(tǒng)構(gòu)建與配置實例——管理HDFS原生地WebUI已提供了較好地資源監(jiān)控,然而很多地開發(fā)商在Hadoop地再開發(fā)上都會為HDFS提供一些更加豐富地管理功能。如華為地FusionInsightManager,可以對在MR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論