哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

分布式文件系統(tǒng)的HDFS是什么

汽車玩家 ? 來源:網(wǎng)絡整理 ? 作者:佚名 ? 2020-05-04 09:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、HDFS介紹

上篇文章已經(jīng)講到了,隨著數(shù)據(jù)量越來越大,在一臺機器上已經(jīng)無法存儲所有的數(shù)據(jù)了,那我們會將這些數(shù)據(jù)分配到不同的機器來進行存儲,但是這就帶來一個問題:不方便管理和維護

所以,我們就希望有一個系統(tǒng)可以將這些分布在不同操作服務器上的數(shù)據(jù)進行統(tǒng)一管理,這就有了分布式文件系統(tǒng)

HDFS是分布式文件系統(tǒng)的其中一種(目前用得最廣泛的一種)

在使用HDFS的時候是非常簡單的:雖然HDFS是將文件存儲到不同的機器上,但是我去使用的時候是把這些文件當做是存儲在一臺機器的方式去使用(背后卻是多臺機器在執(zhí)行):

好比:我調(diào)用了一個RPC接口,我給他參數(shù),他返回一個response給我。RPC接口做了什么事其實我都不知道的(可能這個RPC接口又調(diào)了其他的RPC接口)-----屏蔽掉實現(xiàn)細節(jié),對用戶友好

分布式文件系統(tǒng)的HDFS是什么

明確一下:HDFS就是一個分布式文件系統(tǒng),一個文件系統(tǒng),我們用它來做什么?存數(shù)據(jù)呀。

下面,我們來了解一下HDFS的一些知識,能夠幫我們更好地去「使用」HDFS

二、HDFS學習

從上面我們已經(jīng)提到了,HDFS作為一個分布式文件系統(tǒng),那么它的數(shù)據(jù)是保存在多個系統(tǒng)上的。例如,下面的圖:一個1GB的文件,會被切分成幾個小的文件,每個服務器都會存放一部分。

分布式文件系統(tǒng)的HDFS是什么

那肯定會有人會問:那會切分多少個小文件呢?默認以128MB的大小來切分,每個128MB的文件,在HDFS叫做塊(block)

顯然,這個128MB大小是可配的。如果設置為太小或者太大都不好。如果切分的文件太小,那一份數(shù)據(jù)可能分布到多臺的機器上(尋址時間就很慢)。如果切分的文件太大,那數(shù)據(jù)傳輸時間的時間就很慢。

PS:老版本默認是64MB

一個用戶發(fā)出了一個1GB的文件請求給HDFS客戶端,HDFS客戶端會根據(jù)配置(現(xiàn)在默認是128MB),對這個文件進行切分,所以HDFS客戶端會切分為8個文件(也叫做block),然后每個服務器都會存儲這些切分后的文件(block)?,F(xiàn)在我們假設每個服務器都存儲兩份。

分布式文件系統(tǒng)的HDFS是什么

這些存放真實數(shù)據(jù)的服務器,在HDFS領域叫做DataNode

分布式文件系統(tǒng)的HDFS是什么

現(xiàn)在問題來了,HDFS客戶端按照配置切分完以后,怎么知道往哪個服務器(DataNode)放數(shù)據(jù)呢?這個時候,就需要另一個角色了,管理者(NameNode)。

NameNode實際上就是管理文件的各種信息(這種信息專業(yè)點我們叫做MetaData「元數(shù)據(jù)」),其中包括:文文件路徑名,每個Block的ID和存放的位置等等。

所以,無論是讀還是寫,HDFS客戶端都會先去找NameNode,通過NameNode得知相應的信息,再去找DataNode

如果是寫操作,HDFS切分完文件以后,會詢問NameNode應該將這些切分好的block往哪幾臺DataNode上寫。

如果是讀操作,HDFS拿到文件名,也會去詢問NameNode應該往哪幾臺DataNode上讀數(shù)據(jù)。

分布式文件系統(tǒng)的HDFS是什么

2.1 HDFS備份

作為一個分布式系統(tǒng)(把大文件切分為多個小文件,存儲到不同的機器上),如果沒有備份的話,只要有其中的一臺機器掛了,那就會導致「數(shù)據(jù)」是不可用狀態(tài)的。

寫到這里,如果看過我的Kafka和ElasticSearch的文章可能就懂了。其實思想都是一樣的。

Kafka對partition備份,ElasticSearch對分片進行備份,而到HDFS就是對Block進行備份。

盡可能將數(shù)據(jù)備份到不同的機器上,即便某臺機器掛了,那就可以將備份數(shù)據(jù)拉出來用。

對Kafka和ElasticSearch不了解的同學,可以關注我的GitHub,搜索關鍵字即可查詢(我覺得還算寫得比較通俗易懂的)

注:這里的備份并不需要HDFS客戶端去寫,只要DataNode之間互相傳遞數(shù)據(jù)就好了。

分布式文件系統(tǒng)的HDFS是什么

2.2 NameNode的一些事

從上面我們可以看到,NameNode是需要處理hdfs客戶端請求的。(因為它是存儲元數(shù)據(jù)的地方,無論讀寫都需要經(jīng)過它)。

現(xiàn)在問題就來了,NameNode是怎么存放元數(shù)據(jù)的呢?

如果NameNode只是把元數(shù)據(jù)放到內(nèi)存中,那如果NameNode這臺機器重啟了,那元數(shù)據(jù)就沒了。

如果NameNode將每次寫入的數(shù)據(jù)都存儲到硬盤中,那如果只針對磁盤查找和修改又會很慢(因為這個是純IO的操作)

說到這里,又想起了Kafka。Kafka也是將partition寫到磁盤里邊的,但人家是怎么寫的?順序IO

NameNode同樣也是做了這個事:修改內(nèi)存中的元數(shù)據(jù),然后把修改的信息append(追加)到一個名為editlog的文件上。

由于append是順序IO,所以效率也不會低?,F(xiàn)在我們增刪改查都是走內(nèi)存,只不過增刪改的時候往磁盤文件editlog里邊追加一條。這樣我們即便重啟了NameNode,還是可以通過editlog文件將元數(shù)據(jù)恢復。

分布式文件系統(tǒng)的HDFS是什么

現(xiàn)在也有個問題:如果NameNode一直長期運行的話,那editlog文件應該會越來越大(因為所有的修改元數(shù)據(jù)信息都需要在這追加一條)。重啟的時候需要依賴editlog文件來恢復數(shù)據(jù),如果文件特別大,那啟動的時候不就特別慢了嗎?

的確是如此的,那HDFS是怎么做的呢?為了防止editlog過大,導致在重啟的時候需要較長的時間恢復數(shù)據(jù),所以NameNode會有一個內(nèi)存快照,叫做fsimage

說到快照,有沒有想起Redis的RDB!!

這樣一來,重啟的時候只需要加載內(nèi)存快照fsimage+部分的editlog就可以了。

想法很美好,現(xiàn)實還需要解決一些事:我什么時候生成一個內(nèi)存快照fsimage?我怎么知道加載哪一部分的editlog?

問題看起來好像復雜,其實我們就只需要一個定時任務。

如果讓我自己做的話,我可能會想:我們加一份配置,設置個時間就OK了

如果editlog大到什么程度或者隔了多長時間,我們就把editlog文件的數(shù)據(jù)跟內(nèi)存快照fsiamge給合并起來。然后生成一個新的fsimage,把editlog給清空,覆蓋舊的fsimage內(nèi)存快照這樣一來,NameNode每次重啟的時候,拿到的都是最新的fsimage文件,editlog里邊的都是沒合并到fsimage的。根據(jù)這兩個文件就可以恢復最新的元數(shù)據(jù)信息了。

HDFS也是類似上面這樣干的,只不過它不是在NameNode起個定時的任務跑,而是用了一個新的角色:SecondNameNode。至于為什么?可能HDFS覺得合并所耗費的資源太大了,不同的工作交由不同的服務器來完成,也符合分布式的理念。

分布式文件系統(tǒng)的HDFS是什么

現(xiàn)在問題還是來了,此時的架構NameNode是單機的。SecondNameNode的作用只是給NameNode合并editlog和fsimage文件,如果NameNode掛了,那client就請求不到了,而所有的請求都需要走NameNode,這導致整個HDFS集群都不可用了。

于是我們需要保證NameNode是高可用的。一般現(xiàn)在我們會通過Zookeeper來實現(xiàn)。架構圖如下:

分布式文件系統(tǒng)的HDFS是什么

主NameNode和從NameNode需要保持元數(shù)據(jù)的信息一致(因為如果主NameNode掛了,那從NameNode需要頂上,這時從NameNode需要有主NameNode的信息)。

所以,引入了Shared Edits來實現(xiàn)主從NameNode之間的同步,Shared Edits也叫做JournalNode。實際上就是主NameNode如果有更新元數(shù)據(jù)的信息,它的editlog會寫到JournalNode,然后從NameNode會在JournalNode讀取到變化信息,然后同步。從NameNode也實現(xiàn)了上面所說的SecondNameNode功能(合并editlog和fsimage)

分布式文件系統(tǒng)的HDFS是什么

稍微總結一下:

NameNode需要處理client請求,它是存儲元數(shù)據(jù)的地方

NameNode的元數(shù)據(jù)操作都在內(nèi)存中,會把增刪改以editlog持續(xù)化到硬盤中(因為是順序io,所以不會太慢)

由于editlog可能存在過大的問題,導致重新啟動NameNode過慢(因為要依賴editlog來恢復數(shù)據(jù)),引出了fsimage內(nèi)存快照。需要跑一個定時任務來合并fsimage和editlog,引出了SecondNameNode

又因為NameNode是單機的,可能存在單機故障的問題。所以我們可以通過Zookeeper來維護主從NameNode,通過JournalNode(Share Edits)來實現(xiàn)主從NameNode元數(shù)據(jù)的一致性。最終實現(xiàn)NameNode的高可用。

2.3 學點DataNode

從上面我們就知道,我們的數(shù)據(jù)是存放在DataNode上的(還會備份)。

如果某個DataNode掉線了,那HDFS是怎么知道的呢?

DataNode啟動的時候會去NameNode上注冊,他倆會維持心跳,如果超過時間閾值沒有收到DataNode的心跳,那HDFS就認為這個DataNode掛了。

還有一個問題就是:我們將Block存到DataNode上,那還是有可能這個DataNode的磁盤損壞了部分,而我們DataNode沒有下線,但我們也不知道損壞了。

一個Block除了存放數(shù)據(jù)的本身,還會存放一份元數(shù)據(jù)(包括數(shù)據(jù)塊的長度,塊數(shù)據(jù)的校驗和,以及時間戳)。DataNode還是會定期向NameNode上報所有當前所有Block的信息,通過元數(shù)據(jù)就可校驗當前的Block是不是正常狀態(tài)。

最后

其實在學習HDFS的時候,你會發(fā)現(xiàn)很多的思想跟之前學過的都類似。就比如提到的Kafka、Elasticsearch這些常用的分布式組件。

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

    關注

    33

    文章

    9600

    瀏覽量

    157620
  • 服務器
    +關注

    關注

    14

    文章

    10358

    瀏覽量

    91754
  • HDFS
    +關注

    關注

    1

    文章

    32

    瀏覽量

    10140
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    分布式迭代求解策略:分布式混合電推進系統(tǒng)飛發(fā)一體化設計與能量管理協(xié)同優(yōu)化方法

    隨著全球航空業(yè)對綠色環(huán)保要求的不斷提高,分布式混合電推進系統(tǒng)作為傳統(tǒng)航空動力向全電飛行器過渡的關鍵技術,展現(xiàn)出巨大的發(fā)展?jié)摿?。本文圍繞半渦電分布式推進系統(tǒng)的動態(tài)實時建模與控制方法展開
    的頭像 發(fā)表于 03-27 08:54 ?194次閱讀
    <b class='flag-5'>分布式</b>迭代求解策略:<b class='flag-5'>分布式</b>混合電推進<b class='flag-5'>系統(tǒng)</b>飛發(fā)一體化設計與能量管理協(xié)同優(yōu)化方法

    如何解決分布式光伏計量難題?

    %。同時,可提升發(fā)電效率、降低發(fā)電成本的新型技術逐步落地,推動光伏系統(tǒng)向更高效、更緊湊的方向發(fā)展,進而對電表在精度、數(shù)據(jù)更新速度及適配性方面也提出了更高要求。 分布式光伏遇計量難題 分布式光伏常用 “自己發(fā)的電自己用,用不完的賣
    的頭像 發(fā)表于 11-07 14:55 ?419次閱讀
    如何解決<b class='flag-5'>分布式</b>光伏計量難題?

    【節(jié)能學院】Acrel-1000DP分布式光伏監(jiān)控系統(tǒng)在奉賢平高食品 4.4MW 分布式光伏中應用

    摘要:在“雙碳”和新型電力系統(tǒng)建設背景下,分布式光伏接入比例不斷提高,對配電網(wǎng)電壓、調(diào)度運行及調(diào)峰等環(huán)節(jié)造成強烈沖擊。本文設計包含平臺層、設備層二層架構體系的分布式光伏管控平臺,以及小容量工商業(yè)
    的頭像 發(fā)表于 08-23 08:04 ?3663次閱讀
    【節(jié)能學院】Acrel-1000DP<b class='flag-5'>分布式</b>光伏監(jiān)控<b class='flag-5'>系統(tǒng)</b>在奉賢平高食品 4.4MW <b class='flag-5'>分布式</b>光伏中應用

    分布式光伏發(fā)電監(jiān)測系統(tǒng)技術方案

    分布式光伏發(fā)電監(jiān)測系統(tǒng)技術方案 柏峰【BF-GFQX】一、系統(tǒng)目標 :分布式光伏發(fā)電監(jiān)測系統(tǒng)旨在通過智能化的監(jiān)測手段,實現(xiàn)對
    的頭像 發(fā)表于 08-22 10:51 ?3467次閱讀
    <b class='flag-5'>分布式</b>光伏發(fā)電監(jiān)測<b class='flag-5'>系統(tǒng)</b>技術方案

    Linux三大主流文件系統(tǒng)解析

    還在為選擇哪個文件系統(tǒng)而糾結?作為一名摸爬滾打多年的運維老鳥,我將用最接地氣的方式,帶你徹底搞懂 Linux 三大主流文件系統(tǒng)的奧秘。
    的頭像 發(fā)表于 08-05 17:37 ?1739次閱讀

    園區(qū)分布式光伏發(fā)電監(jiān)控系統(tǒng)

    簡婷 安科瑞電氣股份有限公司 上海嘉定? 201801 技術支持18701998775 園區(qū)部署分布式光伏發(fā)電監(jiān)控系統(tǒng),是實現(xiàn)光伏項目高效運營、風險可控、收益大的核心保障,其必要性體現(xiàn)在以下多個維度
    的頭像 發(fā)表于 07-31 15:49 ?1229次閱讀
    園區(qū)<b class='flag-5'>分布式</b>光伏發(fā)電監(jiān)控<b class='flag-5'>系統(tǒng)</b>

    分布式光伏總出問題?安科瑞分布式光伏監(jiān)控系統(tǒng)來“救場”

    一、分布式光伏的痛點大揭秘 在 “雙碳” 目標的大力推動下,分布式光伏作為綠色能源領域的重要力量,正以前所未有的速度蓬勃發(fā)展,越來越多的企業(yè)和家庭選擇安裝分布式光伏系統(tǒng)。然而,隨著
    的頭像 發(fā)表于 07-16 16:50 ?949次閱讀
    <b class='flag-5'>分布式</b>光伏總出問題?安科瑞<b class='flag-5'>分布式</b>光伏監(jiān)控<b class='flag-5'>系統(tǒng)</b>來“救場”

    Ceph分布式存儲系統(tǒng)解析

    在當今數(shù)據(jù)爆炸的時代,企業(yè)對存儲系統(tǒng)的需求日益增長,傳統(tǒng)的集中式存儲已經(jīng)無法滿足大規(guī)模數(shù)據(jù)處理的要求。分布式存儲系統(tǒng)應運而生,而Ceph作為開源分布式存儲
    的頭像 發(fā)表于 07-14 11:15 ?1219次閱讀

    分布式光伏發(fā)電監(jiān)控系統(tǒng)

    對高、低壓并網(wǎng)分布式光伏電站的升壓系統(tǒng)、光伏逆變器等設備進行全面監(jiān)控,采集微機保護裝置、自動控制設備、電能質(zhì)量監(jiān)測裝置、光伏逆變器、一體化電源等設備數(shù)據(jù),并提供有功功率控制(AGC)、電壓無功綜合
    的頭像 發(fā)表于 06-25 13:41 ?1146次閱讀
    <b class='flag-5'>分布式</b>光伏發(fā)電監(jiān)控<b class='flag-5'>系統(tǒng)</b>

    雙電機分布式驅(qū)動汽車高速穩(wěn)定性機電耦合控制

    摘要:為了利用所設計的雙電機防滑差速驅(qū)動系統(tǒng)來提高分布式驅(qū)動汽車的動力學性能,在前期同軸耦合驅(qū)動控制理論研究的基礎上,開展該車的高速穩(wěn)定性機電耦合控制研究。建立并驗證包含所設計驅(qū)動系統(tǒng)在內(nèi)的
    發(fā)表于 06-18 16:37

    服務器數(shù)據(jù)恢復—ocfs2文件系統(tǒng)被格式化為Ext4文件系統(tǒng)的數(shù)據(jù)恢復案例

    服務器存儲數(shù)據(jù)恢復環(huán)境&故障: 人為誤操作將Ext4文件系統(tǒng)誤裝入一臺服務器存儲上的Ocfs2文件系統(tǒng)數(shù)據(jù)卷上,導致原Ocfs2文件系統(tǒng)被格式化為Ext4文件系統(tǒng)。
    的頭像 發(fā)表于 06-10 12:03 ?889次閱讀
    服務器數(shù)據(jù)恢復—ocfs2<b class='flag-5'>文件系統(tǒng)</b>被格式化為Ext4<b class='flag-5'>文件系統(tǒng)</b>的數(shù)據(jù)恢復案例

    分布式光伏監(jiān)測難?并網(wǎng)型分布式光伏系統(tǒng)光伏功率預測方案

    一、分布式光伏發(fā)電系統(tǒng) ? 安科瑞 鄒玉麗 ? 分布式光伏發(fā)電系統(tǒng)的基本設備包括光伏電池組件、光伏方陣支架、直流匯流箱、直流配電柜、并網(wǎng)逆變器、交流配電柜等設備,另外還有供電
    的頭像 發(fā)表于 05-20 10:17 ?1448次閱讀
    <b class='flag-5'>分布式</b>光伏監(jiān)測難?并網(wǎng)型<b class='flag-5'>分布式</b>光伏<b class='flag-5'>系統(tǒng)</b>光伏功率預測方案

    多通道電源管理芯片在分布式能源系統(tǒng)中的優(yōu)化策略

    摘要: 隨著分布式能源系統(tǒng)的廣泛應用,對電源管理芯片的性能要求日益提升。本文深入探討了多通道電源管理芯片在分布式能源系統(tǒng)中的優(yōu)化策略,以國科安芯的ASP4644芯片為例,從電氣特性、工
    的頭像 發(fā)表于 05-16 15:22 ?1087次閱讀

    Vsan數(shù)據(jù)恢復——Vsan分布式文件系統(tǒng)上虛擬機不可用的數(shù)據(jù)恢復

    一臺采用VsSAN分布式文件系統(tǒng)的存儲設備由于未知原因關機重啟。管理員發(fā)現(xiàn)上層的虛擬機不可用,存儲內(nèi)的數(shù)據(jù)丟失。
    的頭像 發(fā)表于 05-15 17:42 ?694次閱讀
    Vsan數(shù)據(jù)恢復——Vsan<b class='flag-5'>分布式</b><b class='flag-5'>文件系統(tǒng)</b>上虛擬機不可用的數(shù)據(jù)恢復

    分布式光伏電力問題層出不窮?安科瑞分布式光伏運維系統(tǒng)來“救場”

    一、分布式光伏電力運維,痛點大揭秘? ? 分布式光伏作為實現(xiàn)綠色能源轉(zhuǎn)型的關鍵一環(huán),近年來在我國得到了迅猛發(fā)展。國家能源局數(shù)據(jù)顯示,截至 2023 年底,中國分布式光伏電站累計并網(wǎng)容量約為 2.5
    的頭像 發(fā)表于 05-07 17:14 ?1093次閱讀
    <b class='flag-5'>分布式</b>光伏電力問題層出不窮?安科瑞<b class='flag-5'>分布式</b>光伏運維<b class='flag-5'>系統(tǒng)</b>來“救場”
    霍邱县| 屏边| 凤冈县| 留坝县| 小金县| 溆浦县| 宜阳县| 阿拉善左旗| 天长市| 博客| 安龙县| 平原县| 本溪市| 阿合奇县| 中西区| 英德市| 清水河县| 徐水县| 广南县| 上栗县| 融水| 普安县| 深圳市| 沙河市| 广宁县| 延庆县| 南宁市| 本溪市| 文山县| 宿州市| 青神县| 山西省| 泰和县| 临夏市| 景德镇市| 历史| 余江县| 祥云县| 浙江省| 海口市| 天镇县|