單元4 任務(wù)4.1認識HDFS_第1頁
單元4 任務(wù)4.1認識HDFS_第2頁
單元4 任務(wù)4.1認識HDFS_第3頁
單元4 任務(wù)4.1認識HDFS_第4頁
單元4 任務(wù)4.1認識HDFS_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《大數(shù)據(jù)平臺部署與運維》單元4HDFS分布式存儲任務(wù)4.1認識HDFS01HDFS原理與體系架構(gòu)學習目標02HDFS讀寫文件流程03HDFS特點任務(wù)4.1認識HDFS【任務(wù)場景】經(jīng)理:小張,我們的大數(shù)據(jù)平臺已經(jīng)上線了,你整理一下Hadoop的數(shù)據(jù)存儲策略給大家分享一下吧。小張:HDFS會先將大文件分割成數(shù)據(jù)塊,將數(shù)據(jù)塊寫入到數(shù)據(jù)節(jié)點中。HDFS默認將數(shù)據(jù)塊存儲三份來保障數(shù)據(jù)的安全性。我先整理一下這個內(nèi)容。經(jīng)理:它三副本的策略保證了我們的安全性。那HDFS的其他特性你也總結(jié)一下吧。小張:HDFS通過副本放置策略機架感知策略同時作用,提高數(shù)據(jù)存放的安全性,同時,HDFS嘗試滿足來自最接近讀取器的副本的讀取請求來提高數(shù)據(jù)訪問的性能。這方面我統(tǒng)一總結(jié)一下吧。任務(wù)4.1認識HDFS【任務(wù)布置】了解HDFS原理及體系架構(gòu),理解HDFS數(shù)據(jù)存儲的副本存放策略,理解HDFS文件讀寫的流程。任務(wù)4.1認識HDFS4.1.1HDFS原理與體系架構(gòu)HadoopDistributedFileSystem,Hadoop分布式文件系統(tǒng)。它被設(shè)計成適合運行在通用硬件(commodityhardware)上的分布式文件系統(tǒng)。HDFS是一個高度容錯性的系統(tǒng),適合部署在廉價的機器上。HDFS的體系架構(gòu)決定它能夠提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的存儲。HDFS總的設(shè)計思想是分而治之:將大文件、大批量文件,分布式存放在大量獨立的服務(wù)器上,以便于采取分而治之的方式對海量數(shù)據(jù)進行運算分析。HDFS是一個主從體系結(jié)構(gòu),HDFS體系結(jié)構(gòu)中包含三類組件,分別是NameNode、DataNode和SecondaryNameNode。名稱描述NameNodeHDFS的守護進程,用來管理文件系統(tǒng)的命名空間和客戶端對文件的訪問。它負責記錄文件是如何分割成數(shù)據(jù)塊,以及數(shù)據(jù)塊被存儲到哪些DataNode中。DataNode負責存儲和提取數(shù)據(jù)塊,讀寫請求可能來自namenode,也可能直接來自客戶端。數(shù)據(jù)節(jié)點周期性向Namenode匯報自己節(jié)點上所存儲的數(shù)據(jù)塊相關(guān)信息。SecondaryNameNode定期合并主Namenode的namespaceimage和editlog,避免editlog過大,通過創(chuàng)建檢查點checkpoint來合并。它會維護一個合并后的namespaceimage副本,可用于在Namenode完全崩潰時恢復(fù)數(shù)據(jù)。任務(wù)4.1認識HDFS4.1.1HDFS原理與體系架構(gòu)客戶端通過同NameNode和DataNodes的交互訪問文件系統(tǒng),客戶端聯(lián)系NameNode以獲取文件的元數(shù)據(jù),而真正的文件I/O操作是直接和DataNode進行交互的。HDFS旨在可靠地跨大型集群中的機器存儲非常大的文件。它將每個文件存儲為一個塊(Block)序列,數(shù)據(jù)塊是HDFS上存儲數(shù)據(jù)的基本單位。文件存儲過程中,文件先分割為塊序列,除最后一個塊外的所有塊大小都相同,而在append和hsync中增加了對變長塊的支持后,用戶可以在不將最后一個塊填充到配置的塊大小的情況下開始一個新塊。HDFS通過復(fù)制文件的塊以實現(xiàn)容錯。應(yīng)用程序可以指定文件的副本數(shù)。復(fù)制因子可以在文件創(chuàng)建時指定,以后可以更改。任務(wù)4.1認識HDFS4.1.1HDFS原理與體系架構(gòu)

副本選擇策略為了提升HDFS的可靠性,可以創(chuàng)建多分數(shù)據(jù)塊副本,并將它們放置在服務(wù)器集群。為了最小化全局帶寬消耗和讀取延遲,HDFS嘗試滿足來自最接近讀取器的副本的讀取請求。如果在與讀取器節(jié)點相同的機架上存在副本,則首選該副本來滿足讀取請求。如果HDFS集群跨越多個數(shù)據(jù)中心,那么駐留在本地數(shù)據(jù)中心的副本優(yōu)先于任何遠程副本。

數(shù)據(jù)塊放置策略對于常見的情況,當復(fù)制因子為3時,HDFS的放置策略是如果寫入者在數(shù)據(jù)節(jié)點上,則將一個副本放在本地機器上,否則在與寫入者相同機架的隨機數(shù)據(jù)節(jié)點上,另一個副本放在不同(遠程)機架中的一個節(jié)點,以及同一遠程機架中不同節(jié)點上的最后一個節(jié)點。此策略減少了機架間寫入流量,這通常會提高寫入性能。機架故障的幾率遠小于節(jié)點故障;此政策不影響數(shù)據(jù)可靠性和可用性保證。然而,它不會減少讀取數(shù)據(jù)時使用的聚合網(wǎng)絡(luò)帶寬,因為一個塊只放置在兩個獨特的機架中,而不是三個。使用此策略,塊的副本不會均勻地分布在機架上。兩個副本位于一個機架的不同節(jié)點上,其余副本位于其他機架之一的節(jié)點上。此策略可在不影響數(shù)據(jù)可靠性或讀取性能的情況下提高寫入性能。如果復(fù)制因子大于3,則隨機確定第4個及以下副本的放置,同時保持每個機架的副本數(shù)量低于上限(基本上是(replicas-1)/racks+2)。任務(wù)4.1認識HDFS4.1.1HDFS原理與體系架構(gòu)

機架感知策略副本的放置對于HDFS的可靠性和性能至關(guān)重要。優(yōu)化副本放置將HDFS與大多數(shù)其他分布式文件系統(tǒng)區(qū)分開來。這是一項需要大量調(diào)整和經(jīng)驗的功能。機架感知副本放置策略的目的是提高數(shù)據(jù)可靠性、可用性和網(wǎng)絡(luò)帶寬利用率。大型HDFS實例通常分布在許多機架上的計算機集群上運行。不同機架中的兩個節(jié)點之間的通信必須通過交換機。在大多數(shù)情況下,同一機架中機器之間的網(wǎng)絡(luò)帶寬大于不同機架中機器之間的網(wǎng)絡(luò)帶寬。NameNode通過HadoopRackAwareness中設(shè)定每個DataNode所屬的機架ID。一個簡單但非最優(yōu)的策略是將副本放在唯一的機架上。這可以防止在整個機架出現(xiàn)故障時丟失數(shù)據(jù),并允許在讀取數(shù)據(jù)時使用多個機架的帶寬。此策略在集群中均勻分布副本,從而可以輕松平衡組件故障時的負載。但是,此策略增加了寫入成本,因為寫入需要將塊傳輸?shù)蕉鄠€機架。任務(wù)4.1認識HDFS4.1.2HDFS讀寫文件流程

NameNode做出有關(guān)塊復(fù)制的所有決定。它會定期從集群中的每個DataNode接收Heartbeat和Blockreport。收到心跳意味著DataNode運行正常。Blockreport包含DataNode上所有塊的列表。大文件被切割成小文件,使用分而治之的思想讓很多服務(wù)器對同一個文件進行聯(lián)合管理。每個小文件做冗余備份,并且分散存到不同的服務(wù)器,做到高可靠不丟失。任務(wù)4.1認識HDFS4.1.2HDFS讀寫文件流程1.HDFS數(shù)據(jù)寫入流程任務(wù)4.1認識HDFS4.1.2HDFS讀寫文件流程1.HDFS數(shù)據(jù)讀取流程任務(wù)4.1認識HDFS4.1.3HDFS特點HDFS特點(1)硬件故障是常態(tài)(2)流數(shù)據(jù)訪問(3)大數(shù)據(jù)集(4)簡單的一致性模型(5)移動計算比移動數(shù)據(jù)更劃算(6)跨異構(gòu)硬件和軟件平臺的可移植性任務(wù)4.1認識HDFS4.1.3HDFS特點

有些場景不適合使用HDFS來存儲數(shù)據(jù),比如如下場景:(1)低延時的數(shù)據(jù)訪問

對延時要求在毫秒級別的應(yīng)用,不適合采用HDFS。HDFS是為高吞吐數(shù)據(jù)傳輸設(shè)計的,因此可能犧牲延時,HBase更適合低延時的數(shù)據(jù)訪問。(2)大量小文件

文件的元數(shù)據(jù)(如目錄結(jié)構(gòu),文件block的節(jié)點列表,block-nodemapping)保存在NameNode的內(nèi)存中,整個文件系統(tǒng)的文件數(shù)量會受限于NameNode的內(nèi)存大小。

經(jīng)驗而言,一個文件/目錄/文件塊一般占有150字節(jié)的元數(shù)據(jù)內(nèi)存空間。如果有100萬個文件,每個文件占用1個文件塊,則需要大約300M的內(nèi)存。因此十億級別的文件數(shù)量在現(xiàn)有商用機器上難以支持。(3)多方讀寫,需要任意修改文件

HDFS采用追

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論