日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

HDFS-简介

發(fā)布時(shí)間:2025/3/8 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDFS-简介 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

HDFS 是 Hadoop Distribute File System 的簡(jiǎn)稱(chēng),意為:Hadoop 分布式文件系統(tǒng),是一種旨在在商品硬件上運(yùn)行的分布式文件系統(tǒng)。它與現(xiàn)有的分布式文件系統(tǒng)有許多相似之處。但是,與其他分布式文件系統(tǒng)的區(qū)別很明顯。HDFS具有高度的容錯(cuò)能力,旨在部署在低成本硬件上。HDFS提供對(duì)應(yīng)用程序數(shù)據(jù)的高吞吐量訪問(wèn),并且適用于具有大數(shù)據(jù)集的應(yīng)用程序。HDFS放寬了一些POSIX要求,以實(shí)現(xiàn)對(duì)文件系統(tǒng)數(shù)據(jù)的流式訪問(wèn)。HDFS最初是作為Apache Nutch Web搜索引擎項(xiàng)目的基礎(chǔ)結(jié)構(gòu)而構(gòu)建的。HDFS是Apache Hadoop Core項(xiàng)目的一部分,是 Hadoop 核心組件之一,作為最底層的分布式存儲(chǔ)服務(wù)而存在。

一、特點(diǎn)

  • 高容錯(cuò):硬件故障是正常現(xiàn)象,而非例外。HDFS實(shí)例可能包含數(shù)百或數(shù)千個(gè)服務(wù)器計(jì)算機(jī),每個(gè)服務(wù)器計(jì)算機(jī)都存儲(chǔ)文件系統(tǒng)數(shù)據(jù)的一部分。存在大量組件并且每個(gè)組件的故障概率都很低的事實(shí)意味著HDFS的某些組件始終無(wú)法運(yùn)行。因此,檢測(cè)故障并快速,自動(dòng)地從故障中恢復(fù)是HDFS的核心目標(biāo)。
  • 流數(shù)據(jù)訪問(wèn):在HDFS上運(yùn)行的應(yīng)用程序需要對(duì)其數(shù)據(jù)集進(jìn)行流式訪問(wèn)。它們不是通常在通用文件系統(tǒng)上運(yùn)行的通用應(yīng)用程序。HDFS設(shè)計(jì)用于批處理,而不是用戶(hù)交互使用。重點(diǎn)在于數(shù)據(jù)訪問(wèn)的高吞吐量,而不是數(shù)據(jù)訪問(wèn)的低延遲。POSIX提出了許多針對(duì)HDFS的應(yīng)用程序不需要的硬性要求。在一些關(guān)鍵領(lǐng)域中,POSIX語(yǔ)義已經(jīng)被交易以提高數(shù)據(jù)吞吐率。
  • 支持大數(shù)據(jù)集:在HDFS上運(yùn)行的應(yīng)用程序具有大量數(shù)據(jù)集。HDFS中的典型文件大小為GB到TB。因此,HDFS已調(diào)整為支持大文件。它應(yīng)提供較高的聚合數(shù)據(jù)帶寬,并可以擴(kuò)展到單個(gè)群集中的數(shù)百個(gè)節(jié)點(diǎn)。它應(yīng)該在單個(gè)實(shí)例中支持?jǐn)?shù)千萬(wàn)個(gè)文件。
  • 一次寫(xiě)入多次讀取:HDFS應(yīng)用程序需要文件一次寫(xiě)入多次讀取訪問(wèn)模型。一旦創(chuàng)建,寫(xiě)入和關(guān)閉文件,除了追加和截?cái)嗤?#xff0c;無(wú)需更改。支持將內(nèi)容追加到文件末尾,但不能在任意點(diǎn)更新。該假設(shè)簡(jiǎn)化了數(shù)據(jù)一致性問(wèn)題并實(shí)現(xiàn)了高吞吐量數(shù)據(jù)訪問(wèn)。MapReduce應(yīng)用程序或Web爬網(wǎng)程序應(yīng)用程序非常適合此模型。
  • 移動(dòng)計(jì)算:如果應(yīng)用程序所請(qǐng)求的計(jì)算在其所操作的數(shù)據(jù)附近執(zhí)行,則效率會(huì)高得多。當(dāng)數(shù)據(jù)集的大小巨大時(shí),尤其如此。這樣可以最大程度地減少網(wǎng)絡(luò)擁塞,并提高系統(tǒng)的整體吞吐量。假設(shè)通常是將計(jì)算遷移到更靠近數(shù)據(jù)的位置,而不是將數(shù)據(jù)移動(dòng)到應(yīng)用程序正在運(yùn)行的位置。HDFS為應(yīng)用程序提供了接口,使它們自己更靠近數(shù)據(jù)所在的位置。
  • 高度可移植性:HDFS是使用Java語(yǔ)言構(gòu)建的;任何支持Java的機(jī)器都可以運(yùn)行NameNode或DataNode軟件。高度可移植的Java語(yǔ)言的使用意味著HDFS可以部署在各種各樣的機(jī)器上。
  • 運(yùn)行于商業(yè)硬件上: Hadoop不需要特別貴的、reliable的(可靠的)機(jī)器,可運(yùn)行于普通商用機(jī)器(可以從多家供應(yīng)商采購(gòu)) ,商用機(jī)器不代表低端機(jī)器。在集群中(尤其是大的集群),節(jié)點(diǎn)失敗率是比較高的HDFS的目標(biāo)是確保集群在節(jié)點(diǎn)失敗的時(shí)候不會(huì)讓用戶(hù)感覺(jué)到明顯的中斷。

二、組成架構(gòu)

HDFS采用主/從體系結(jié)構(gòu),整個(gè)HDFS集群由一個(gè)Namenode和多個(gè)Datanode構(gòu)成master-worker(主從)模式。Namenode負(fù)責(zé)構(gòu)建命名空間,管理文件的元數(shù)據(jù)等,Datanode負(fù)責(zé)實(shí)際存儲(chǔ)數(shù)據(jù)和處理來(lái)自系統(tǒng)客戶(hù)端的讀寫(xiě)請(qǐng)求。

群集中單個(gè)NameNode的存在極大地簡(jiǎn)化了系統(tǒng)的體系結(jié)構(gòu)。NameNode是所有HDFS元數(shù)據(jù)的仲裁器和存儲(chǔ)庫(kù)。該系統(tǒng)的設(shè)計(jì)方式使用戶(hù)數(shù)據(jù)永遠(yuǎn)不會(huì)流過(guò)NameNode。

具體來(lái)說(shuō),HDFS由四部分組成,HDFS Client、NameNode、DataNode和Secondary NameNode。

**HDFS客戶(hù)端:**就是客戶(hù)端。
1、提供一些命令來(lái)管理、訪問(wèn) HDFS,比如啟動(dòng)或者關(guān)閉HDFS。
2、與 DataNode 交互,讀取或者寫(xiě)入數(shù)據(jù);讀取時(shí),要與 NameNode 交互,獲取文件的位置信息;寫(xiě)入 HDFS 的時(shí)候,Client 將文件切分成 一個(gè)一個(gè)的Block,然后進(jìn)行存儲(chǔ)。

**NameNode:**即Master,
1、管理 HDFS 的名稱(chēng)空間。
2、管理數(shù)據(jù)塊(Block)映射信息
3、配置副本策略
4、處理客戶(hù)端讀寫(xiě)請(qǐng)求。

**DataNode:**就是Slave。NameNode 下達(dá)命令,DataNode 執(zhí)行實(shí)際的操作。
1、存儲(chǔ)實(shí)際的數(shù)據(jù)塊。
2、執(zhí)行數(shù)據(jù)塊的讀/寫(xiě)操作。

**Secondary NameNode:**并非 NameNode 的熱備。當(dāng)NameNode 掛掉的時(shí)候,它并不能馬上替換 NameNode 并提供服務(wù)。
1、輔助 NameNode,分擔(dān)其工作量。
2、定期合并 fsimage和fsedits,并推送給NameNode。
3、在緊急情況下,可輔助恢復(fù) NameNode。

三、文件系統(tǒng)命名空間

HDFS支持傳統(tǒng)的分層文件組織。用戶(hù)或應(yīng)用程序可以創(chuàng)建目錄并將文件存儲(chǔ)在這些目錄中。文件系統(tǒng)名稱(chēng)空間層次結(jié)構(gòu)與大多數(shù)其他現(xiàn)有文件系統(tǒng)相似。可以創(chuàng)建和刪除文件,將文件從一個(gè)目錄移動(dòng)到另一個(gè)目錄或重命名文件。HDFS支持用戶(hù)配額和訪問(wèn)權(quán)限。HDFS不支持硬鏈接或軟鏈接。但是,HDFS體系結(jié)構(gòu)并不排除實(shí)現(xiàn)這些功能。

盡管HDFS遵循FileSystem的命名約定,但某些路徑和名稱(chēng)(例如/.reserved和.snapshot)被保留。功能,如透明加密和快照使用預(yù)約路徑。

NameNode維護(hù)文件系統(tǒng)名稱(chēng)空間。對(duì)文件系統(tǒng)名稱(chēng)空間或其屬性的任何更改均由NameNode記錄。應(yīng)用程序可以指定應(yīng)由HDFS維護(hù)的文件副本的數(shù)量。文件的副本數(shù)稱(chēng)為該文件的復(fù)制因子。此信息由NameNode存儲(chǔ)。

四、數(shù)據(jù)復(fù)制

HDFS旨在在大型群集中的計(jì)算機(jī)之間可靠地存儲(chǔ)非常大的文件。它將每個(gè)文件存儲(chǔ)為一系列塊。復(fù)制文件的塊是為了容錯(cuò)。塊大小和復(fù)制因子是每個(gè)文件可配置的。

文件中除最后一個(gè)塊外的所有塊都具有相同的大小,而在添加了對(duì)可變長(zhǎng)度塊的支持后,用戶(hù)可以在不填充最后一個(gè)塊的情況下開(kāi)始新的塊,而不用配置的塊大小。

應(yīng)用程序可以指定文件的副本數(shù)。復(fù)制因子可以在文件創(chuàng)建時(shí)指定,以后可以更改。HDFS中的文件只能寫(xiě)入一次(追加和截?cái)喑?#xff09;,并且在任何時(shí)候都只能具有一個(gè)寫(xiě)入器。

NameNode做出有關(guān)塊復(fù)制的所有決定。它定期從群集中的每個(gè)DataNode接收心跳信號(hào)和Blockreport。收到心跳信號(hào)表示DataNode正常運(yùn)行。Blockreport包含DataNode上所有塊的列表。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的HDFS-简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。