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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論