在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于HDFS的概述及組成與架構詳解

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

一、 HDFS簡介

1.1 HDFS的概述

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

流數據 是指數千個數據源 持續生成 的數據,可以理解為隨時間延續而 無限增長 的動態數據集合。

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

在Hadoop生態圈中,HDFS屬于底層基礎,負責存儲文件。

1.2 HDFS的優點

HDFS的優點:

高容錯性。提供了容錯和恢復機制,副本丟失后,自動恢復。

高可靠性。數據自動保存多個副本,通過多副本提高可靠性。

適合大數據處理。可以處理超大文件,比如 TB級甚至PB級 的文件。

適合批處理。移動計算而非移動數據;數據位置暴露給計算框架。

支持流式數據訪問。一次性寫入,多次讀取(一個數據集一旦生成,就會被復制分發到不同的存儲節點,各節點可以進行讀取/訪問);保證數據一致性。

低成本運行。可以運行在低成本的硬件之上。

HDFS 默認保存 3 份副本。

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

第二個副本:放置在與 第一個副本 不同 的機架的節點上;

第三個副本:放在與 第二個副本 相同 的機架的其他節點上。

1.3 HDFS的缺點

HDFS的缺點:

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

不適合處理 大量的小 文件。會造成尋址時間超過讀取時間;會占用NameNode大量內存,因為NameNode把文件系統的元數據存放在內存中(文件系統的容量由NameNode的大小決定),小文件太多會消耗NameNode的內存。

不適合 并發寫入。一個文件只能有一個寫入者,HDFS暫不支持多個用戶對同一個文件的寫操作。

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

二、 HDFS的組成與架構

HDFS的組成架構圖及各部分功能如下所示:

2.1 NameNode節點

當用戶訪問數據文件時,為了保證能夠讀取到每一個數據塊, HDFS有一個專門 負責保存文件屬性信息的節點,這個節點就是 NameNode 節點(即 名稱節點 )。

2.1.1 節點職責

NameNode節點 是HDFS的管理者,負責保存和管理HDFS的元數據。

其職責有以下三個方面:

① 管理維護HDFS的命名空間

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

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

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

② 管理DataNode上的數據塊

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

③ 接收客戶端的請求

接收客戶端文件上傳、下載、創建目錄等的請求。

2.2 DataNode節點

HDFS首先把大文件切分成若干個小的數據塊,再把這些數據塊寫入不同的節點,這個 負責保存文件數據的節點就是 DataNode 節點(即 數據節點 )。

2.2.1 節點職責

DataNode節點 負責存儲數據,把Block(數據塊)以Linux文件的形式保存在磁盤上,并根據Block標識和字節范圍來讀寫塊數據。

其職責有以下三個方面:

① 保存數據塊

一個數據塊會在多個DataNode進行冗余備份(在某一個DataNode最多只有一個備份)。

② 負責客戶端對數據塊的IO請求

在客戶端執行寫操作時,DataNode之間會相互通信,保證寫操作的一致性。

③ 定期和NameNode進行心跳通信,接受NameNode的指令

如果NameNode節點10分鐘沒有收到DataNode的心跳信息,就會將其上的數據塊復制到其他DataNode節點。

因此,NameNode節點上并不會永久保存DataNode節點上的數據塊信息,而是通過與DataNode節點心跳聯系的方式,來更新節點上的映射表,以此減輕負擔。

問題:HDFS數據塊默認大小為128M(Hadoop2.2之前為64M),將HDFS的數據塊設置得很大的目的是什么?(傳統數據塊只有512個字節)

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

2.3 SecondaryNameNode節點

HDFS有一個定期創建命名空間的檢查點(CheckPoint)操作的節點,也就是SecondaryNameNode節點(即 第二名稱節點)。

出于可靠性考慮,SecondaryNameNode節點與NameNode節點通常運行在不同的機器上,且SecondaryNameNode節點與NameNode節點的內存要一樣大。

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

問題:一般情況下,一個集群中的SecondaryNameNode節點也是只有一個的原因是什么?

答:因為如果多的話,會增加NameNode的壓力,使其忙于元數據的傳輸/接收、日志的傳輸/切換,從而導致性能下降;同時,NameNode節點也不支持做并發檢查點。

2.3.1 節點職責

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

經典問題:NameNode與SecondaryNameNode有沒有關系?

SecondaryNameNode節點的工作流程可以參考這篇文章:

其職責有以下兩個方面:

① 防止edits過大

定期合并 fsimage 和 edits 文件,使 edits 大小保持在限制范圍內。這樣做減少了重新啟動NameNode時合并 fsimage 和 edits 耗費的時間,從而減少了NameNode啟動的時間。

② 做冷備份

對一定范圍內數據做快照性備份,在NameNode失效時能恢復部分 fsimage 。

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HDFS
    +關注

    關注

    1

    文章

    30

    瀏覽量

    9643
收藏 人收藏

    評論

    相關推薦

    百問MQTT協議分析 - MQTT簡述及協議報文格式組成

    16.1 mqtt協議介紹 16.1.1 概述 ?MQTT是一個客戶端服務端架構的發布/訂閱模式的消息傳輸協議。它的設計思想是輕巧、開放、簡單、規范,易于實現。這些特點使得它對很多場景來說都是很好
    發表于 12-13 09:29

    一文看懂SoC的架構

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

    buck電路的組成元件詳解 buck電路與線性穩壓器的區別

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

    智能網聯汽車云控系統第1部分:系統組成及基礎平臺架構

    智能網聯汽車云控系統 第1部分 系統組成及基礎平臺架構
    發表于 11-18 14:44 ?6次下載

    詳解MySQL多實例部署

    詳解MySQL多實例部署
    的頭像 發表于 11-11 11:10 ?335次閱讀

    主流芯片架構包括哪些類型

    主流芯片架構是芯片設計領域中的核心組成部分,它們決定了芯片的功能、性能、功耗等多個方面。當前,全球范圍內主流的芯片架構主要包括以下幾種類型。
    的頭像 發表于 08-22 11:08 ?1429次閱讀

    溫度振動變送器的概述及功能介紹

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

    安森美OBC系統解決方案設計指南

    “OBC系統解決方案設計指南”又上新了,第一篇文章介紹了系統用途、系統實施方法、系統說明、市場趨勢和標準等,本文將繼續介紹解決方案概述及拓撲。
    的頭像 發表于 08-20 16:34 ?1047次閱讀
    安森美OBC系統解決方案設計指南

    行程開關概述及應用介紹

    一、行程開關概述 行程開關,作為位置開關(限位開關)的一種,是廣泛應用于小電流環境中的主要控制電器。它通過機械運動部件的觸發來實現觸點的接通或斷開,進而控制電路,以實現特定的控制目標。這種開關機
    的頭像 發表于 08-16 17:31 ?1263次閱讀

    SSD架構與功能模塊詳解

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

    深度神經網絡概述及其應用

    通過模仿人類大腦神經元的連接方式和處理機制,設計多層神經元結構來處理復雜的數據模式,從而在各種數據驅動的問題中展現出強大的能力。本文將從深度神經網絡的基本概念、結構、工作原理、關鍵技術以及其在多個領域的應用等方面進行全面概述
    的頭像 發表于 07-04 16:08 ?1604次閱讀

    基站供配電系統概述

    通信基站供配電系統概述基站供配電系統基本組成基站供配電系統特點功能?機房環境控制系統?
    發表于 05-06 10:13 ?1次下載

    fpga是什么架構

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

    DCDC原理詳解

    電子發燒友網站提供《DCDC原理詳解.pptx》資料免費下載
    發表于 03-05 17:18 ?97次下載

    光伏逆變器拓撲概述及關鍵技術

    光伏逆變器拓撲概述及關鍵技術
    的頭像 發表于 02-21 09:47 ?975次閱讀
    光伏逆變器拓撲<b class='flag-5'>概述及</b>關鍵技術
    主站蜘蛛池模板: 夭天干天天做天天免费看 | 亚洲国产精品乱码一区二区三区 | 久久久精品免费观看 | 精彩视频一区二区三区 | 亚洲精品美女视频 | 美女视频永久黄网站免费观看国产 | 久久美女精品国产精品亚洲 | 一级视频在线观看免费 | 国外精品视频在线观看免费 | 狠狠干狠狠色 | 九九视频热 | 在线视频一二三区 | 天天碰天天干 | 在线www| 成年人网站免费观看 | 激情福利网站 | 特黄特色大片免费视频大全 | 麦克斯奥特曼免费观看 | 成人三级网址 | 啪啪网免费视频 | 国产叼嘿视频网站在线观看 | 偷偷狠狠的日日日日 | 美女把尿口扒开让男人桶出水 | 精品国产自在现线看久久 | 情久久| 免费一级毛片正在播放 | 国产精品国产三级国快看 | 天堂资源在线官网bt | 日本爱爱片 | 婷婷网址 | 国产精品大尺度尺度视频 | 日韩国产片 | 五月婷婷六月丁香在线 | 一区二区三区在线观看视频 | 精品伊人久久大香线蕉网站 | 日韩一区二区在线观看 | 亚洲第一区视频在线观看 | 欧美黑粗特黄午夜大片 | 加勒比一区二区三区 | 国产在线永久视频 | 色天使在线播放 |