衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于HDFS的概述及組成與架構(gòu)詳解

jf_f8pIz0xS ? 來源:CSDN技術(shù)社區(qū) ? 作者:苜苜的爛筆頭 ? 2021-04-15 13:34 ? 次閱讀

一、 HDFS簡(jiǎn)介

1.1 HDFS的概述

HDFS是基于 流數(shù)據(jù) 訪問模式的 分布式文件系統(tǒng) ,其設(shè)計(jì)建立在 “一次寫入、多次讀取” 的基礎(chǔ)上,提供高吞吐量、高容錯(cuò)性的數(shù)據(jù)訪問,能很好地解決海量數(shù)據(jù)的存儲(chǔ)問題。

流數(shù)據(jù) 是指數(shù)千個(gè)數(shù)據(jù)源 持續(xù)生成 的數(shù)據(jù),可以理解為隨時(shí)間延續(xù)而 無限增長 的動(dòng)態(tài)數(shù)據(jù)集合。

通俗點(diǎn)說,如果把數(shù)據(jù)比如成一個(gè)水庫,那么流進(jìn)去的水,就是流數(shù)據(jù)(就像我們聽的音樂,屬于音樂流;而看到的文字、圖片這些較為固定的,一次性下載的,形成不了流)。

在Hadoop生態(tài)圈中,HDFS屬于底層基礎(chǔ),負(fù)責(zé)存儲(chǔ)文件。

1.2 HDFS的優(yōu)點(diǎn)

HDFS的優(yōu)點(diǎn):

高容錯(cuò)性。提供了容錯(cuò)和恢復(fù)機(jī)制,副本丟失后,自動(dòng)恢復(fù)。

高可靠性。數(shù)據(jù)自動(dòng)保存多個(gè)副本,通過多副本提高可靠性。

適合大數(shù)據(jù)處理。可以處理超大文件,比如 TB級(jí)甚至PB級(jí) 的文件。

適合批處理。移動(dòng)計(jì)算而非移動(dòng)數(shù)據(jù);數(shù)據(jù)位置暴露給計(jì)算框架。

支持流式數(shù)據(jù)訪問。一次性寫入,多次讀取(一個(gè)數(shù)據(jù)集一旦生成,就會(huì)被復(fù)制分發(fā)到不同的存儲(chǔ)節(jié)點(diǎn),各節(jié)點(diǎn)可以進(jìn)行讀取/訪問);保證數(shù)據(jù)一致性。

低成本運(yùn)行。可以運(yùn)行在低成本的硬件之上。

HDFS 默認(rèn)保存 3 份副本。

第一個(gè)副本:放置在 上傳文件 的數(shù)據(jù)節(jié)點(diǎn)(第一個(gè)副本如果是在 集群外 提交,則隨機(jī)挑選一個(gè) CPU 比較空閑 、 磁盤不太滿 的節(jié)點(diǎn));

第二個(gè)副本:放置在與 第一個(gè)副本 不同 的機(jī)架的節(jié)點(diǎn)上;

第三個(gè)副本:放在與 第二個(gè)副本 相同 的機(jī)架的其他節(jié)點(diǎn)上。

1.3 HDFS的缺點(diǎn)

HDFS的缺點(diǎn):

不適合處理 低延遲 的數(shù)據(jù)訪問。比如用戶 要求時(shí)間比較短 的低延遲應(yīng)用(主要處理高數(shù)據(jù)吞吐量的應(yīng)用)。

不適合處理 大量的小 文件。會(huì)造成尋址時(shí)間超過讀取時(shí)間;會(huì)占用NameNode大量?jī)?nèi)存,因?yàn)镹ameNode把文件系統(tǒng)的元數(shù)據(jù)存放在內(nèi)存中(文件系統(tǒng)的容量由NameNode的大小決定),小文件太多會(huì)消耗NameNode的內(nèi)存。

不適合 并發(fā)寫入。一個(gè)文件只能有一個(gè)寫入者,HDFS暫不支持多個(gè)用戶對(duì)同一個(gè)文件的寫操作。

不適合 任意修改 文件。僅支持append(附加),不支持在文件的任意位置進(jìn)行修改。

二、 HDFS的組成與架構(gòu)

HDFS的組成架構(gòu)圖及各部分功能如下所示:

2.1 NameNode節(jié)點(diǎn)

當(dāng)用戶訪問數(shù)據(jù)文件時(shí),為了保證能夠讀取到每一個(gè)數(shù)據(jù)塊, HDFS有一個(gè)專門 負(fù)責(zé)保存文件屬性信息的節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)就是 NameNode 節(jié)點(diǎn)(即 名稱節(jié)點(diǎn) )。

2.1.1 節(jié)點(diǎn)職責(zé)

NameNode節(jié)點(diǎn) 是HDFS的管理者,負(fù)責(zé)保存和管理HDFS的元數(shù)據(jù)。

其職責(zé)有以下三個(gè)方面:

① 管理維護(hù)HDFS的命名空間

NameNode管理HDFS系統(tǒng)的命名空間,維護(hù)文件系統(tǒng)樹以及文件系統(tǒng)樹中所有文件的元數(shù)據(jù)。管理這些信息的的文件分別是 edits(操作日志文件) 和 fsimage(命名空間鏡像文件) 。

editlog(操作日志):在NameNode啟動(dòng)的情況下,對(duì)HDFS進(jìn)行的各種操作進(jìn)行記錄。(HDFS客戶端執(zhí)行的所有操作都會(huì)被記錄到editlog文件中,這些文件由edits文件保存)

fsimage:包含HDFS中的元信息(比如修改時(shí)間、訪問時(shí)間、數(shù)據(jù)塊信息等)。

② 管理DataNode上的數(shù)據(jù)塊

負(fù)責(zé)管理數(shù)據(jù)塊上所有的元數(shù)據(jù)信息(管理DataNode上數(shù)據(jù)塊的均衡,維持副本數(shù)量)。

③ 接收客戶端的請(qǐng)求

接收客戶端文件上傳、下載、創(chuàng)建目錄等的請(qǐng)求。

2.2 DataNode節(jié)點(diǎn)

HDFS首先把大文件切分成若干個(gè)小的數(shù)據(jù)塊,再把這些數(shù)據(jù)塊寫入不同的節(jié)點(diǎn),這個(gè) 負(fù)責(zé)保存文件數(shù)據(jù)的節(jié)點(diǎn)就是 DataNode 節(jié)點(diǎn)(即 數(shù)據(jù)節(jié)點(diǎn) )。

2.2.1 節(jié)點(diǎn)職責(zé)

DataNode節(jié)點(diǎn) 負(fù)責(zé)存儲(chǔ)數(shù)據(jù),把Block(數(shù)據(jù)塊)以Linux文件的形式保存在磁盤上,并根據(jù)Block標(biāo)識(shí)和字節(jié)范圍來讀寫塊數(shù)據(jù)。

其職責(zé)有以下三個(gè)方面:

① 保存數(shù)據(jù)塊

一個(gè)數(shù)據(jù)塊會(huì)在多個(gè)DataNode進(jìn)行冗余備份(在某一個(gè)DataNode最多只有一個(gè)備份)。

② 負(fù)責(zé)客戶端對(duì)數(shù)據(jù)塊的IO請(qǐng)求

在客戶端執(zhí)行寫操作時(shí),DataNode之間會(huì)相互通信,保證寫操作的一致性。

③ 定期和NameNode進(jìn)行心跳通信,接受NameNode的指令

如果NameNode節(jié)點(diǎn)10分鐘沒有收到DataNode的心跳信息,就會(huì)將其上的數(shù)據(jù)塊復(fù)制到其他DataNode節(jié)點(diǎn)。

因此,NameNode節(jié)點(diǎn)上并不會(huì)永久保存DataNode節(jié)點(diǎn)上的數(shù)據(jù)塊信息,而是通過與DataNode節(jié)點(diǎn)心跳聯(lián)系的方式,來更新節(jié)點(diǎn)上的映射表,以此減輕負(fù)擔(dān)。

問題:HDFS數(shù)據(jù)塊默認(rèn)大小為128M(Hadoop2.2之前為64M),將HDFS的數(shù)據(jù)塊設(shè)置得很大的目的是什么?(傳統(tǒng)數(shù)據(jù)塊只有512個(gè)字節(jié))

答:為了減少尋址開銷,讓HDFS的文件傳輸時(shí)間由傳輸速率決定(如果塊設(shè)置得足夠大,從磁盤 傳輸數(shù)據(jù)的時(shí)間 會(huì)明顯大于 定位這個(gè)塊開始位置 所需的時(shí)間)。

2.3 SecondaryNameNode節(jié)點(diǎn)

HDFS有一個(gè)定期創(chuàng)建命名空間的檢查點(diǎn)(CheckPoint)操作的節(jié)點(diǎn),也就是SecondaryNameNode節(jié)點(diǎn)(即 第二名稱節(jié)點(diǎn))。

出于可靠性考慮,SecondaryNameNode節(jié)點(diǎn)與NameNode節(jié)點(diǎn)通常運(yùn)行在不同的機(jī)器上,且SecondaryNameNode節(jié)點(diǎn)與NameNode節(jié)點(diǎn)的內(nèi)存要一樣大。

(如果想了解 SecondaryNameNode 的工作流程,可以參考這篇文章:淺析 SecondaryNameNode 的工作流程 )

問題:一般情況下,一個(gè)集群中的SecondaryNameNode節(jié)點(diǎn)也是只有一個(gè)的原因是什么?

答:因?yàn)槿绻嗟脑挘瑫?huì)增加NameNode的壓力,使其忙于元數(shù)據(jù)的傳輸/接收、日志的傳輸/切換,從而導(dǎo)致性能下降;同時(shí),NameNode節(jié)點(diǎn)也不支持做并發(fā)檢查點(diǎn)。

2.3.1 節(jié)點(diǎn)職責(zé)

SecondaryNameNode節(jié)點(diǎn) 定期把NameNode的 fsimage 和 edits 下載到本地,再將它們加載到內(nèi)存并進(jìn)行合并,最后把合并后新的 fsimage 返回NameNode (這個(gè)過程稱為檢查點(diǎn))。

經(jīng)典問題:NameNode與SecondaryNameNode有沒有關(guān)系?

SecondaryNameNode節(jié)點(diǎn)的工作流程可以參考這篇文章:

其職責(zé)有以下兩個(gè)方面:

① 防止edits過大

定期合并 fsimage 和 edits 文件,使 edits 大小保持在限制范圍內(nèi)。這樣做減少了重新啟動(dòng)NameNode時(shí)合并 fsimage 和 edits 耗費(fèi)的時(shí)間,從而減少了NameNode啟動(dòng)的時(shí)間。

② 做冷備份

對(duì)一定范圍內(nèi)數(shù)據(jù)做快照性備份,在NameNode失效時(shí)能恢復(fù)部分 fsimage 。

好了,HDFS 及其組成框架介紹完成。

如果想進(jìn)一步了解 HDFS 的工作機(jī)制,可以參考這篇文章:圖文詳解 HDFS 工作機(jī)制及其原理 。
編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • HDFS
    +關(guān)注

    關(guān)注

    1

    文章

    30

    瀏覽量

    9641
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    百問MQTT協(xié)議分析 - MQTT簡(jiǎn)述及協(xié)議報(bào)文格式組成

    16.1 mqtt協(xié)議介紹 16.1.1 概述 ?MQTT是一個(gè)客戶端服務(wù)端架構(gòu)的發(fā)布/訂閱模式的消息傳輸協(xié)議。它的設(shè)計(jì)思想是輕巧、開放、簡(jiǎn)單、規(guī)范,易于實(shí)現(xiàn)。這些特點(diǎn)使得它對(duì)很多場(chǎng)景來說都是很好
    發(fā)表于 12-13 09:29

    一文看懂SoC的架構(gòu)

    一、SoC 架構(gòu)圖:核心功能和設(shè)計(jì)目標(biāo) SoC 是基于通用處理器這樣的思路進(jìn)行設(shè)計(jì)的,與 PC 設(shè)計(jì)思路一樣。即通用處理器是由 CORE + MEM 兩部分組成,修改軟件來實(shí)現(xiàn)不同的功能,電腦還是
    的頭像 發(fā)表于 11-29 09:57 ?968次閱讀
    一文看懂SoC的<b class='flag-5'>架構(gòu)</b>

    buck電路的組成元件詳解 buck電路與線性穩(wěn)壓器的區(qū)別

    Buck電路,也稱為降壓轉(zhuǎn)換器,是一種開關(guān)穩(wěn)壓器,用于將輸入電壓降低到較低的輸出電壓。以下是Buck電路的組成元件詳解以及與線性穩(wěn)壓器的區(qū)別。 Buck電路的組成元件詳解 輸入電容(C
    的頭像 發(fā)表于 11-21 10:04 ?616次閱讀

    智能網(wǎng)聯(lián)汽車云控系統(tǒng)第1部分:系統(tǒng)組成及基礎(chǔ)平臺(tái)架構(gòu)

    智能網(wǎng)聯(lián)汽車云控系統(tǒng) 第1部分 系統(tǒng)組成及基礎(chǔ)平臺(tái)架構(gòu)
    發(fā)表于 11-18 14:44 ?6次下載

    詳解MySQL多實(shí)例部署

    詳解MySQL多實(shí)例部署
    的頭像 發(fā)表于 11-11 11:10 ?326次閱讀

    主流芯片架構(gòu)包括哪些類型

    主流芯片架構(gòu)是芯片設(shè)計(jì)領(lǐng)域中的核心組成部分,它們決定了芯片的功能、性能、功耗等多個(gè)方面。當(dāng)前,全球范圍內(nèi)主流的芯片架構(gòu)主要包括以下幾種類型。
    的頭像 發(fā)表于 08-22 11:08 ?1413次閱讀

    溫度振動(dòng)變送器的概述及功能介紹

    制造業(yè)還是戰(zhàn)略性新型產(chǎn)業(yè)都離不開溫度振動(dòng)變送器的支持。 一、溫度振動(dòng)變送器的概述 溫度振動(dòng)變送器集成了溫度傳感技術(shù)和振動(dòng)傳感技術(shù),可以測(cè)量工業(yè)設(shè)備的振動(dòng)速度、表面溫度等參數(shù)。溫度振動(dòng)變送器具有MEMS 芯片,采用嵌入式技
    的頭像 發(fā)表于 08-20 17:18 ?573次閱讀

    安森美OBC系統(tǒng)解決方案設(shè)計(jì)指南

    “OBC系統(tǒng)解決方案設(shè)計(jì)指南”又上新了,第一篇文章介紹了系統(tǒng)用途、系統(tǒng)實(shí)施方法、系統(tǒng)說明、市場(chǎng)趨勢(shì)和標(biāo)準(zhǔn)等,本文將繼續(xù)介紹解決方案概述及拓?fù)洹?/div>
    的頭像 發(fā)表于 08-20 16:34 ?1037次閱讀
    安森美OBC系統(tǒng)解決方案設(shè)計(jì)指南

    行程開關(guān)概述及應(yīng)用介紹

    一、行程開關(guān)概述 行程開關(guān),作為位置開關(guān)(限位開關(guān))的一種,是廣泛應(yīng)用于小電流環(huán)境中的主要控制電器。它通過機(jī)械運(yùn)動(dòng)部件的觸發(fā)來實(shí)現(xiàn)觸點(diǎn)的接通或斷開,進(jìn)而控制電路,以實(shí)現(xiàn)特定的控制目標(biāo)。這種開關(guān)機(jī)
    的頭像 發(fā)表于 08-16 17:31 ?1250次閱讀

    SSD架構(gòu)與功能模塊詳解

    在之前的系列文章中,我們介紹了固態(tài)硬盤的系列知識(shí),包括閃存的介質(zhì)、原理,以及作為SSD大腦的控制器設(shè)計(jì),本文將詳細(xì)介紹SSD架構(gòu)以及功能模塊。
    的頭像 發(fā)表于 07-27 10:30 ?1189次閱讀
    SSD<b class='flag-5'>架構(gòu)</b>與功能模塊<b class='flag-5'>詳解</b>

    深度神經(jīng)網(wǎng)絡(luò)概述及其應(yīng)用

    通過模仿人類大腦神經(jīng)元的連接方式和處理機(jī)制,設(shè)計(jì)多層神經(jīng)元結(jié)構(gòu)來處理復(fù)雜的數(shù)據(jù)模式,從而在各種數(shù)據(jù)驅(qū)動(dòng)的問題中展現(xiàn)出強(qiáng)大的能力。本文將從深度神經(jīng)網(wǎng)絡(luò)的基本概念、結(jié)構(gòu)、工作原理、關(guān)鍵技術(shù)以及其在多個(gè)領(lǐng)域的應(yīng)用等方面進(jìn)行全面概述
    的頭像 發(fā)表于 07-04 16:08 ?1593次閱讀

    基站供配電系統(tǒng)概述

    通信基站供配電系統(tǒng)概述基站供配電系統(tǒng)基本組成基站供配電系統(tǒng)特點(diǎn)功能?機(jī)房環(huán)境控制系統(tǒng)?
    發(fā)表于 05-06 10:13 ?1次下載

    fpga是什么架構(gòu)

    FPGA(現(xiàn)場(chǎng)可編程門陣列)的架構(gòu)主要由可配置邏輯模塊(CLB)、輸入/輸出模塊(IOB)以及可編程互連資源組成
    的頭像 發(fā)表于 03-14 17:05 ?978次閱讀

    DCDC原理詳解

    電子發(fā)燒友網(wǎng)站提供《DCDC原理詳解.pptx》資料免費(fèi)下載
    發(fā)表于 03-05 17:18 ?97次下載

    光伏逆變器拓?fù)?b class='flag-5'>概述及關(guān)鍵技術(shù)

    光伏逆變器拓?fù)?b class='flag-5'>概述及關(guān)鍵技術(shù)
    的頭像 發(fā)表于 02-21 09:47 ?967次閱讀
    光伏逆變器拓?fù)?b class='flag-5'>概述及</b>關(guān)鍵技術(shù)
    沈阳市| 澳门葡京娱乐| 赌场百家乐技巧| 菲律宾百家乐官网开户| 百乐坊娱乐城官网| 博天堂百家乐的玩法技巧和规则 | 333娱乐城| 百家乐都是什么人玩的| 百家乐怎么会赢| 连环百家乐官网怎么玩| e世博备用网址| 百家乐筹码皇冠| 百家乐最低下注| 百家乐官网双龙| 百家乐官网洗码| 现金百家乐游戏| 巴比伦百家乐娱乐城| 百家乐网上最好网站| 罗浮宫百家乐的玩法技巧和规则 | 卡卡湾网上娱乐| 威尼斯人娱乐城线路| 豪华百家乐人桌| 真人百家乐出千| 百家乐官网的出牌技巧| 百家乐官网娱乐城信息| 大发888信誉平台| 华硕百家乐的玩法技巧和规则| 百家乐长龙太阳城| 老钱庄百家乐官网的玩法技巧和规则 | 百家乐官网视频世界| 大西洋娱乐城| 大发888在线娱乐合作伙伴| 老钱庄百家乐的玩法技巧和规则| 百家乐投注很好| 24山消砂| 多伦多百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城真钱游戏 | 百家乐官网群bet20| 百家乐官网六合彩3535| 百家乐官网视频计牌器| 尉氏县|