柚子快報邀請碼778899分享:大數(shù)據(jù) Hadoop學(xué)習(xí)記錄一
柚子快報邀請碼778899分享:大數(shù)據(jù) Hadoop學(xué)習(xí)記錄一
HDFS(Hadoop Distributed File System)是Hadoop項目的一部分,用于存儲海量數(shù)據(jù)。HDFS設(shè)計為可以在廉價硬件上運(yùn)行,同時提供高容錯性。HDFS主要由三個關(guān)鍵角色組成:NameNode、DataNode和SecondaryNameNode。下面我用大白話來詳細(xì)解釋這些角色的功能和作用:
1. NameNode
NameNode 可以想象成圖書館里的圖書管理員,它不存儲書(數(shù)據(jù)),而是管理著圖書館的目錄和書籍的位置信息。在HDFS中,NameNode負(fù)責(zé)管理文件系統(tǒng)的元數(shù)據(jù),這包括文件和目錄的層次結(jié)構(gòu)、文件的權(quán)限信息、文件被分割成哪些塊以及每個塊存儲在哪些DataNode上。當(dāng)有用戶想要讀取或?qū)懭胛募r,NameNode告訴用戶文件的塊在哪里,就像圖書管理員告訴你書在哪個書架一樣。
2. DataNode
DataNode 相當(dāng)于圖書館的書架和書籍本身,它們負(fù)責(zé)存儲和維護(hù)HDFS中的實際數(shù)據(jù)。每個DataNode定期向NameNode報告自己的健康狀況和所擁有的數(shù)據(jù)塊信息。當(dāng)有寫入請求時,DataNode會按照NameNode的指示存儲數(shù)據(jù)塊,并確保數(shù)據(jù)塊的副本數(shù)符合設(shè)定,以增加數(shù)據(jù)的可靠性。當(dāng)有讀取請求時,DataNode提供數(shù)據(jù)塊供用戶讀取。
3. SecondaryNameNode
SecondaryNameNode 不是另一個NameNode,更像是NameNode的助手或者說是備份助手。它并不存儲元數(shù)據(jù)的實時備份,而是定期合并NameNode的fsimage(包含文件系統(tǒng)元數(shù)據(jù))和edit log(包含最近的操作記錄),減少NameNode重啟時需要重放的日志量,從而加快NameNode的啟動時間。SecondaryNameNode幫助NameNode進(jìn)行日志的清理和合并,但并不是集群運(yùn)行的必要組成部分,它的缺失不會導(dǎo)致集群不可用。
這三個角色共同協(xié)作,使得HDFS能夠存儲和管理大規(guī)模數(shù)據(jù)集,即使在部分節(jié)點失效的情況下也能保持?jǐn)?shù)據(jù)的可用性和一致性。在Hadoop集群中,通常有一個NameNode,多個DataNode,以及一個SecondaryNameNode(或有時多個,用于更高的可用性)。這種架構(gòu)設(shè)計使得HDFS能夠在成本較低的硬件上構(gòu)建出高可靠、可擴(kuò)展的數(shù)據(jù)存儲系統(tǒng)。
在Hadoop生態(tài)系統(tǒng)中,RM(ResourceManager)、NM(NodeManager)和JN(JobHistoryServer)這幾個組件都屬于Apache Hadoop YARN(Yet Another Resource Negotiator)框架的一部分。不過,JN(JobHistoryServer)在Hadoop 2.x之后的版本中,更多地與MapReduce應(yīng)用歷史記錄服務(wù)相關(guān)聯(lián)。
4. ResourceManager (RM)
ResourceManager 就像是一個“總管”,它負(fù)責(zé)整個Hadoop集群的資源分配工作。就像一個派對的組織者決定每個人應(yīng)該坐在哪里一樣,ResourceManager決定你的計算任務(wù)應(yīng)該在哪里的機(jī)器上運(yùn)行。它還會監(jiān)督所有任務(wù)的運(yùn)行情況,確保一切都按計劃進(jìn)行。
5.NodeManager (NM)
NodeManager 是每臺計算機(jī)(節(jié)點)上的“助手”。它的主要工作是聽ResourceManager的命令,準(zhǔn)備和清理任務(wù)運(yùn)行的環(huán)境,確保任務(wù)能夠順利開始和結(jié)束。就像是一個餐廳里的服務(wù)員,當(dāng)有客人點餐時,服務(wù)員負(fù)責(zé)上菜和清理餐桌。
6.JobHistoryServer (JN)
JobHistoryServer 相當(dāng)于一個“歷史記錄員”。它的工作是記錄所有的計算任務(wù)是怎么運(yùn)行的,結(jié)果如何,以及運(yùn)行過程中發(fā)生了什么問題。這樣,如果有人想查看過去的任務(wù)狀態(tài),或者分析為什么某些任務(wù)失敗了,就可以通過JobHistoryServer找到答案。
總結(jié)一下,ResourceManager是指揮官,NodeManager是前線工人,而JobHistoryServer是記錄歷史的檔案管理員。它們一起協(xié)作,確保Hadoop集群能夠高效、穩(wěn)定地運(yùn)行各種計算任務(wù)。
柚子快報邀請碼778899分享:大數(shù)據(jù) Hadoop學(xué)習(xí)記錄一
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。