版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章HDFS技術(shù)3.1HDFS的特點3.1HDFS的特點簡單一致性核心:“一次寫,多次讀”,寫入文件不可修改;若需修改,需在HDFS外處理后重新上傳(如搜索引擎文件)。故障檢測與自動恢復(fù)基于廉價硬件,支持自動檢測節(jié)點故障;通過多副本機制(默認3份)快速修復(fù)損壞數(shù)據(jù),對用戶透明。流式數(shù)據(jù)訪問優(yōu)化數(shù)據(jù)吞吐量(非交互型小數(shù)據(jù)),放寬POSIX規(guī)范,適合長時間分析大數(shù)據(jù)集。支持超大文件存儲適配GB/TB級文件;避免大量小文件(會占用NameNode內(nèi)存)。優(yōu)化讀?。C架感知)優(yōu)先從同機架節(jié)點讀取數(shù)據(jù),跨數(shù)據(jù)中心時優(yōu)先近距離復(fù)制,減少跨機架網(wǎng)絡(luò)開銷。數(shù)據(jù)完整性客戶端計算數(shù)據(jù)塊校驗和,存儲為隱藏文件;讀取時比對校驗和,不一致則從其他副本獲取。3.2點HDFS架構(gòu)3.2HDFS架構(gòu)HDFS采用典型的主從架構(gòu),包括一個主節(jié)點(NameNode或者MetadataNode),負責(zé)管理系統(tǒng)命名管理空間(NameSpace)、控制客戶端文件操作、管理和分配存儲任務(wù);多個從節(jié)點(DataNode),提供真實文件數(shù)據(jù)的物理支持。3.2.1數(shù)據(jù)塊塊大小設(shè)計默認64MB(企業(yè)常用128MB),計算公式:splitSize=max{minSize,min{maxSize,blockSize}}目的:減少尋址時間占比(目標1%),平衡并行度(避免Map任務(wù)過少)。塊的優(yōu)勢支持存儲超單磁盤容量的大文件;按塊備份提升容錯性(默認3副本),損壞后自動恢復(fù)。塊信息查看工具-fsck命令語法:hdfsfsck<path>-blocks-files功能:檢查指定目錄的數(shù)據(jù)塊健康狀況、顯示塊信息與文件名。示例:hdfsfsck/input-blocks-files(查看/input目錄塊信息)3.2.2NameNode與DataNodeNameNode(主節(jié)點)核心作用:管理集群命名空間、維護文件樹狀元數(shù)據(jù)、協(xié)調(diào)DataNode。元數(shù)據(jù)存儲:fsimage:文件系統(tǒng)鏡像(全量命名空間信息);editslog:編輯日志(增量事務(wù)記錄);存儲路徑:本地磁盤+NFS(防止損壞,配置2個目錄)。文件結(jié)構(gòu):current目錄(含VERSION文件、edits文件、fsimage文件),VERSION記錄namespaceID、clusterID等。3.2.2NameNode與DataNode
DataNode(從節(jié)點)核心作用:存儲數(shù)據(jù)塊、響應(yīng)客戶端讀寫、向NameNode上報塊信息(心跳機制,默認3s一次)。文件結(jié)構(gòu):blk_refix:原始數(shù)據(jù)塊(默認128MB);blk_refix.meta:塊元數(shù)據(jù)(版本+校驗和,默認1MB);subdir:子目錄存儲塊文件與元數(shù)據(jù)。心跳機制:若超時(timeout=2erval+10erval),NameNode標記節(jié)點為“Dead”。3.2.3輔助NameNode輔助NameNode:元數(shù)據(jù)合并與恢復(fù)核心作用周期性合并fsimage與editslog,清空舊日志,減少NameNode重啟時間;非NameNode備份,狀態(tài)滯后于NameNode,用于NameNode故障時部分恢復(fù)。3.2.3輔助NameNodeNameNode停止寫edits,新建edits.new;輔助NameNode通過HTTPGET獲取舊edits與fsimage;內(nèi)存中合并生成新鏡像fsimage.ckpt(CheckPoint);HTTPPOST將fsimage.ckpt傳回NameNode;NameNode更新fsimage,重命名edits.new為edits。輔助NameNode合并編輯日志文件的過程3.2.4安全模式與負載均衡HDFS的一個關(guān)鍵特性是能夠同時提供安全模式和負載均衡,以安全和高效的方式存儲和處理大量數(shù)據(jù)。在安全模式方面,HDFS支持各種身份驗證和授權(quán)機制,這使得系統(tǒng)能夠保護自己的數(shù)據(jù),并確保只有經(jīng)過授權(quán)的用戶才能訪問這些數(shù)據(jù),只有數(shù)據(jù)安全有了保障,信息安全才有保障。3.2.4安全模式與負載均衡當(dāng)NameNode啟動時,NameNode會讀取文件系統(tǒng)鏡像文件并將其加載到內(nèi)存中,然后繼續(xù)讀取并執(zhí)行編輯日志文件中記錄的各項操作,接著開始監(jiān)聽RPC和HTTP請求,此時會進入一種特殊狀態(tài),即安全模式(Safe
Mode)狀態(tài)。在此狀態(tài)下,各個
DataNode
將心跳報告和塊列表信息發(fā)送到NameNode,而塊列表信息保存的是數(shù)據(jù)塊的位置信息,NameNode的內(nèi)存中會保留所有節(jié)點的塊列表信息,當(dāng)塊列表信息足夠時,即退出安全模式,這個過程一般需耗時30s。3.2.4安全模式與負載均衡觸發(fā)場景:NameNode啟動時(加載fsimage、執(zhí)行editslog后)。核心邏輯:DataNode上報塊列表,滿足“最小復(fù)制條件”(默認副本數(shù)≥1)后退出,期間僅可訪問元數(shù)據(jù),不可讀寫文件。關(guān)鍵命令:查看狀態(tài):hdfsdfsadmin-safemodeget進入安全模式:hdfsdfsadmin-safemodeenter離開安全模式:hdfsdfsadmin-safemodeleave3.2.4安全模式與負載均衡目的:避免節(jié)點任務(wù)不均,優(yōu)化資源利用率(考慮機架感知)。核心組件:Balancer類(獨立進程,調(diào)整塊分布)。關(guān)鍵配置與命令:帶寬限制:dfs.balance.bandwidthPerSec(默認1MB/s);均衡命令:hadoopbalance[-threshold<threshold>](默認閾值10%,磁盤容量占比差)。3.2.5垃圾回收垃圾分類第一類:正常邏輯產(chǎn)生(文件刪除、塊遷移后的原始塊),NameNode記錄至“最近無效集”;第二類:異常產(chǎn)生(節(jié)點重啟后過期副本),DataNode上報塊信息時比對識別?;厥照緳C制存儲目錄:/user/${USER}/.Trash/Current(用戶可在此目錄恢復(fù)文件);清理機制:NameNode后臺線程Emptier,按erval配置周期(默認0,即直接刪除;配置1440為24小時)清理過期文件。強制刪除命令:hdfsdfs-rm-skipTrash<src>(文件不進入回收站,直接刪除)。3.2點HDFS架構(gòu)3.3.1文件處理命令開啟HDFS,執(zhí)行命令hdfsdfs,輸出HDFS支持的命令列表3.3.1文件處理命令ls:列出目錄/文件語法:hdfsdfs-ls[-d/-h/-R]<path>功能:-d列目錄、-h顯單位(如KB/MB)、-R遞歸列子目錄示例:hdfsdfs-ls/(列出根目錄下文件/目錄)mkdir:創(chuàng)建目錄語法:hdfsdfs-mkdir[-p]<path>功能:-p創(chuàng)建多級目錄(如dir0/dir1/dir2)示例:hdfsdfs-mkdir-pdir0/dir1/dir2cat/text/tail:查看文件內(nèi)容語法:hdfsdfs-cat<src>;hdfsdfs-tail[-f]<file>功能:text支持壓縮文件,tail查看最后1KB,-f動態(tài)更新(如日志)示例:hdfsdfs-tail/input/file3.3.1文件處理命令4.touchz:創(chuàng)建空文件語法:hdfsdfs-touchz<path>功能:創(chuàng)建0字節(jié)文件,若文件已存在且非空則報錯示例:hdfsdfs-touchz/user/root/dir/file5.appendToFile:追加文件語法:hdfsdfs-appendToFile<localsrc><dst>功能:將本地文件內(nèi)容追加到HDFS文件,“-”表示鍵盤輸入示例:hdfsdfs-appendToFile-dir/file(鍵盤輸入內(nèi)容追加到dir/file)6.put/get:上傳/下載文件語法:hdfsdfs-put<localsrc><dst>;hdfsdfs-get<src><localdst>功能:put本地→HDFS,getHDFS→本地;-f覆蓋已存在文件,-p保留原始屬性示例:hdfsdfs-putlocalfile/user/root(本地localfile上傳到HDFS的/user/root)3.3.1文件處理命令7.rm:刪除文件/目錄語法:hdfsdfs-rm[-f/-r/-skipTrash]<src>功能:-r遞歸刪除目錄,-f忽略不存在文件,-skipTrash跳過回收站示例:hdfsdfs-rm-rdir(遞歸刪除dir目錄)8.du:顯示磁盤占用語法:hdfsdfs-du[-s/-h]<path>功能:-s顯示總大小,-h顯單位(如KB/MB)示例:hdfsdfs-du-h/user/root(顯示/user/root目錄占用,帶單位)3.3.2交互式命令1.dfsadmin命令dfsadmin是一個多任務(wù)客戶端工具,用來顯示HDFS運行狀態(tài)和管理HDFS常用選項及說明:-report:顯示集群基本信息(節(jié)點數(shù)量、塊統(tǒng)計、磁盤使用等),與HDFSWeb界面功能一致-safemode<enter/leave/get/wait>:安全模式操作,enter進入、leave離開、get查看狀態(tài)、wait等待退出安全模式-refreshNodes:重新讀取主機允許/拒絕列表,更新可與NameNode通信的DataNode集-setQuota<quota><dirname>:設(shè)置目錄配額(限制目錄下文件/子目錄數(shù)量),quota為正整數(shù)-help[cmd]:查看指定命令的幫助信息3.3.2交互式命令2.NameNode(元數(shù)據(jù)管理命令)格式化NameNode、升級回滾、導(dǎo)入檢查點等常用選項及說明:-format:格式化NameNode(首次啟動前執(zhí)行),會生成namespaceID等元數(shù)據(jù)-upgrade:NameNode版本更新后啟動,保留舊版本數(shù)據(jù)以便回滾-rollback:回滾到前一版本,需先停止集群并分發(fā)舊版本-importCheckpoint:從檢查點目錄(fs.checkpoint.dir)加載鏡像,用于NameNode故障恢復(fù)3.3.2交互式命令3.fsck(塊健康檢查命令)語法:hdfsfsck<path>[-move/-delete/-openforwrite/-files/-blocks/-locations]常用選項及說明:-move:將損壞文件移至/lost+found目錄-delete:直接刪除損壞文件-openforwrite:輸出正在寫入的文件-files:顯示檢查的文件名-blocks:顯示塊報告(需與-files搭配)-locations:顯示每個塊的存儲位置(需與-files搭配)3.3.2交互式命令4.job(MapReduce作業(yè)交互命令)功能:提交作業(yè)、查看作業(yè)狀態(tài)、終止作業(yè)等。語法:mapredjob常用選項及說明:-submit<job-file>:提交MapReduce作業(yè)-status<job-id>:查看指定作業(yè)的進度(Map/Reduce完成百分比)與計數(shù)器-kill<job-id>:終止指定ID的作業(yè)進程-set-priority<job-id><priority>:修改作業(yè)優(yōu)先級,優(yōu)先級值:VERY_HIGH、HIGH、NORMAL、LOW、VERY_LOW-list[all]:顯示未完成的作業(yè),加all顯示所有作業(yè)(含已完成)3.4HDFS中JavaAPI的使用3.4HDFS中JavaAPI的使用Hadoop整合了眾多文件系統(tǒng),其中有一個綜合性的抽象文件系統(tǒng),它提供了文件系統(tǒng)實現(xiàn)的各類接口。HDFS只是這個抽象文件系統(tǒng)的一個實例,它提供了一個高層的文件系統(tǒng)抽象類org.apache.hadoop.fs.FileSystem,這個抽象類展示了一個分布式文件系統(tǒng),并有幾個具體實現(xiàn)3.4.1上傳文件通過FileSystem.copyFromLocalFile(Pathsrc,Pathdst),可以將本地文件上傳到HDFS指定的位置,其中,src和dst均為文件的完整路徑3.4.2新建文件通過FileSystem.create(Pathf,Booleanb),可以在HDFS上創(chuàng)建文件,其中,f為文件的完整路徑,b為判斷是否覆蓋,具體實現(xiàn)如下。3.4.3查看文件詳細信息通過FileStatus,可以查找指定文件在HDFS集群上的詳細信息,包括文件訪問時間、文件修改時間、文件所占塊大小、文件長度、文件所在用戶組、文件擁有者和文件副本數(shù)等信息3.4.4下載文件將文件從HDFS下載到本地非常簡單,直接調(diào)用FileSystem.copyToLocalFile(Pathsrc,Pathdst)即可。其中,src為HDFS上的文件的路徑,dst為要下載到本地的文件的路徑3.5RPC通信3.5RPC通信1.RPC特點RPC的主要特點如下。(1)透明性:通過RPC遠程調(diào)用其他機器上的程序,對用戶來說就像是調(diào)用本地方法一樣。(2)高性能:RPCServer能夠并發(fā)處理多個來自客戶端的請求。(3)可控性:JDK中已經(jīng)提供了一個RPC框架——RMI,但是該RPC框架過于重量級并且可控之處比較少,所以HadoopRPC實現(xiàn)了自定義的RPC框架。3.5.1反射機制反射機制定義:Java在運行時動態(tài)獲取類的屬性、方法,動態(tài)調(diào)用對象方法的能力,是RPC實現(xiàn)動態(tài)調(diào)用的核心。核心類:Class關(guān)鍵方法:getName():返回類的完整名稱(如org.apache.hadoop.examples.Student);newInstance():創(chuàng)建類的實例(調(diào)用默認構(gòu)造方法);getMethods():獲取類的所有公共方法(含繼承的方法);getFields():獲取類的所有公共屬性;getInterfaces():獲取類實現(xiàn)的所有接口。作用:HadoopRPC通過反射機制解析服務(wù)端接口的方法與參數(shù),實現(xiàn)跨節(jié)點的方法調(diào)用,無需提前知曉具體接口實現(xiàn)。3.5.2代理模式與動態(tài)代理代理模式的作用是為真實對象提供代理,讓代理來控制對對象的訪問。有時,客戶不想或者不能夠直接引用一個對象,而代理對象可以在客戶端和目標對象之間起到類似中
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年湖南醫(yī)藥學(xué)院輔導(dǎo)員考試筆試真題匯編附答案
- 2024年鄭州航空工業(yè)管理學(xué)院輔導(dǎo)員招聘備考題庫附答案
- 2024年長垣烹飪職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試參考題庫附答案
- 2024年青島開放大學(xué)輔導(dǎo)員考試參考題庫附答案
- 2025中國農(nóng)業(yè)科學(xué)院作物科學(xué)研究所作物倍性育種技術(shù)研究組博士后招聘4人筆試歷年題庫及答案解析(奪冠)
- 2025克拉瑪依市公安機關(guān)招聘警務(wù)輔助人員(169人)備考題庫及答案1套
- 2025年廣西師范大學(xué)漓江學(xué)院輔導(dǎo)員招聘備考題庫附答案
- 2025年雞西市公安局恒山分局公開招聘警務(wù)輔助人員10人考試備考題庫附答案
- 2025廣東華南師范大學(xué)環(huán)境學(xué)院非事業(yè)編制人員招聘1人參考題庫附答案
- 2025貴州貴陽市公安機關(guān)招聘第三批警務(wù)輔助人員體能測評備考題庫及答案1套
- 人工智能推動金融數(shù)據(jù)治理轉(zhuǎn)型升級研究報告2026
- 2026長治日報社工作人員招聘勞務(wù)派遣人員5人備考題庫含答案
- 期末教師大會上校長精彩講話:師者當(dāng)備三盆水(洗頭洗手洗腳)
- 2026年濰坊職業(yè)學(xué)院單招綜合素質(zhì)筆試備考試題附答案詳解
- 工兵基礎(chǔ)知識課件
- 2026年貴州省交通綜合運輸事務(wù)中心和貴州省鐵路民航事務(wù)中心公開選調(diào)備考題庫及答案詳解參考
- 2025四川雅安市名山區(qū)茗投產(chǎn)業(yè)集團有限公司招聘合同制員工10人參考題庫附答案
- 人工智能應(yīng)用與實踐 課件 -第5章-智能體開發(fā)與應(yīng)用
- 2025浙江紹興越城黃酒小鎮(zhèn)旅游開發(fā)有限公司編外人員第二次招聘總筆試歷年典型考點題庫附帶答案詳解2套試卷
- 聘用2025年3D建模合同協(xié)議
- 2025-2026學(xué)年西南大學(xué)版小學(xué)數(shù)學(xué)六年級(上冊)期末測試卷附答案(3套)
評論
0/150
提交評論