一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

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

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

一、 HDFS簡介

1.1 HDFS的概述

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

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

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

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

1.2 HDFS的優(yōu)點

HDFS的優(yōu)點:

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

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

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

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

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

低成本運行??梢赃\行在低成本的硬件之上。

HDFS 默認保存 3 份副本。

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

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

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

1.3 HDFS的缺點

HDFS的缺點:

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

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

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

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

二、 HDFS的組成與架構

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

2.1 NameNode節(jié)點

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

2.1.1 節(jié)點職責

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

其職責有以下三個方面:

① 管理維護HDFS的命名空間

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

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

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

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

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

③ 接收客戶端的請求

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

2.2 DataNode節(jié)點

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

2.2.1 節(jié)點職責

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

其職責有以下三個方面:

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

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

② 負責客戶端對數(shù)據(jù)塊的IO請求

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

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

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

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

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

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

2.3 SecondaryNameNode節(jié)點

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

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

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

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

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

2.3.1 節(jié)點職責

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

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

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

其職責有以下兩個方面:

① 防止edits過大

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

② 做冷備份

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

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

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

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

    關注

    1

    文章

    31

    瀏覽量

    9807
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    SVPWM的原理及法則推導和控制算法詳解

    SVPWM 是近年發(fā)展的一種比較新穎的控制方法,是由三相功率逆變器的六個功率開關元件組成的特定開關模式產(chǎn)生的脈寬調制波,能夠使輸出電流波形盡 可能接近于理想的正弦波形。空間電壓矢量 PWM 與傳統(tǒng)
    發(fā)表于 03-14 14:51

    開關電源各部電路詳解

    開關電源原理及各功能電路詳解 一、 開關電源的電路組成:: 開關電源的主要電路是由輸入電磁干擾濾波器(EMI)、整流濾波電路、功率變換電路、PWM控制器電路、輸出整流濾波電路組成。輔助電路有輸入過
    發(fā)表于 03-10 16:51

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

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

    RISC-V指令集概述

    RISC-V就是RISC的第五代指令集架構。而RISC-V目標就是“成為一種完全開放的指令集架構,可被任何學術機構或商業(yè)組織自由使用”。 RISC-V指令集由“基本指令集 + 擴展指令集”組成
    發(fā)表于 11-30 23:30

    一文看懂SoC的架構

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

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

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

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

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

    詳解MySQL多實例部署

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

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

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

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

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

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

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

    行程開關概述及應用介紹

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

    SSD架構與功能模塊詳解

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

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

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

    液壓伺服控制系統(tǒng)的組成及其組成部件的作用

    概述 液壓伺服控制系統(tǒng)是一種將機械能轉換為液壓能,再通過控制元件實現(xiàn)對機械運動的精確控制的系統(tǒng)。它主要由液壓源、執(zhí)行元件、控制元件、傳感器和反饋系統(tǒng)等組成。通過這些組成部分的協(xié)同工作,實現(xiàn)對機械運動的精確控
    的頭像 發(fā)表于 06-14 11:03 ?2307次閱讀