日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

一文解析HDFS架構(gòu)及讀取寫(xiě)入數(shù)據(jù)流程

姚小熊27 ? 來(lái)源:51cto ? 作者:51cto ? 2021-01-28 14:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Hadoop到目前為止發(fā)展已經(jīng)有10余年,版本經(jīng)過(guò)無(wú)數(shù)次的更新迭代,目前業(yè)內(nèi)大家把Hadoop大的版本分為Hadoop1.0、Hadoop2.0、Hadoop3.0 三個(gè)版本。

一、Hadoop 簡(jiǎn)介

Hadoop版本剛出來(lái)的時(shí)候是為了解決兩個(gè)問(wèn)題:一是海量數(shù)據(jù)如何存儲(chǔ)的問(wèn)題,一個(gè)是海量數(shù)據(jù)如何計(jì)算的問(wèn)題。Hadoop的核心設(shè)計(jì)就是HDFS和 Mapreduce.HDFS解決了海量數(shù)據(jù)如何存儲(chǔ)的問(wèn)題, Mapreduce解決了海量數(shù)據(jù)如何計(jì)算的問(wèn)題。HDFS的全稱:Hadoop Distributed File System。

二、分布式文件系統(tǒng)

圖片 HDFS其實(shí)就可以理解為一個(gè)分布式文件系統(tǒng),可以看如圖1所示有4個(gè)服務(wù)器是不是都有他自己的文件系統(tǒng)都可以進(jìn)行存儲(chǔ)數(shù)據(jù),假設(shè)每個(gè)服務(wù)器的存儲(chǔ)空間存儲(chǔ)10G的數(shù)據(jù)。假設(shè)數(shù)據(jù)量很小的時(shí)候存儲(chǔ)10G的數(shù)據(jù)還是ok的當(dāng)數(shù)據(jù)量大于服務(wù)器的存儲(chǔ)空間時(shí)是不是單個(gè)服務(wù)器就沒(méi)法存儲(chǔ)了。 我們是不是可以在服務(wù)器中部署一個(gè)Hadoop這樣就能構(gòu)建出一個(gè)集群(超級(jí)大電腦)。這樣就存儲(chǔ) 4*10=40G的數(shù)據(jù)量,這樣我們面向用戶時(shí)是不是只有一臺(tái)超級(jí)大的電腦相當(dāng)于一個(gè)分布式文件系統(tǒng)。

HDFS是一個(gè)主從的架構(gòu)、主節(jié)點(diǎn)只有一個(gè)NemeNode。從節(jié)點(diǎn)有多個(gè)DataNode。

三、HDFS 架構(gòu)

圖片 假設(shè)我們這里有5臺(tái)服務(wù)器每臺(tái)服務(wù)器都部署上Hadoop,我們隨便選擇一臺(tái)服務(wù)器部署上NameNode剩下服務(wù)器部署上DataNode。

客戶端上傳文件時(shí)假設(shè)文件大小為129MHDFS默認(rèn)切分的大小為128M這時(shí)就會(huì)產(chǎn)生出2個(gè)blkNameNode去通知DataNode上傳文件(這里有一定的策略),我們就假設(shè)就將這幾個(gè)文件分別存儲(chǔ)在4個(gè)服務(wù)器上。為什們要進(jìn)行分別存儲(chǔ)在,假設(shè)DataNode服務(wù)器有一天突然掛掉了我們是不是還可通過(guò)DataNode4或2和3進(jìn)行讀取數(shù)據(jù),這樣是不是就防止數(shù)據(jù)丟失。

NameNode

管理元數(shù)據(jù)信息(文件目錄樹(shù)):文件與Block塊,Block塊與DataNode主機(jī)關(guān)系 NameNode為快速響應(yīng)用戶操作,所以把元數(shù)據(jù)信息加載到內(nèi)存里

DataNode

存儲(chǔ)數(shù)據(jù),把上傳的數(shù)據(jù)劃分固定大小文件塊(Block)在Hadoop2.73之前是64M之后改為了128M 為了保證數(shù)據(jù)安全,每個(gè)文件默認(rèn)都是三個(gè)副本

SecondaryNamenode

周期性的到NameNode節(jié)點(diǎn)拉取Edtis和fsimage文件,將這兩個(gè)文件加入到內(nèi)存進(jìn)行 然后將這兩個(gè)文件加入到內(nèi)存中進(jìn)行合并產(chǎn)生新的fsimage發(fā)送給NameNode。

四、HDFS寫(xiě)入數(shù)據(jù)流程

客戶端會(huì)帶著文件路徑向NameNode發(fā)送寫(xiě)入請(qǐng)求通過(guò) RPC 與 NameNode 建立通訊, NameNode 檢查目標(biāo)文件,返回是否可以上傳; Client 請(qǐng)求第一個(gè) block 該傳輸?shù)侥男?DataNode 服務(wù)器上; NameNode 根據(jù)副本數(shù)量和副本放置策略進(jìn)行節(jié)點(diǎn)分配,返回DataNode節(jié)點(diǎn),如:A,B,C Client 請(qǐng)求A節(jié)點(diǎn)建立pipeline管道,A收到請(qǐng)求會(huì)繼續(xù)調(diào)用B,然后B調(diào)用C,將整個(gè)pipeline管道建立完成后,逐級(jí)返回消息到Client; Client收到A返回的消息之后開(kāi)始往A上傳第一個(gè)block塊,block塊被切分成64K的packet包不斷的在pepiline管道里傳遞,從A到B,B到C進(jìn)行復(fù)制存儲(chǔ) 當(dāng)一個(gè) block塊 傳輸完成之后,Client 再次請(qǐng)求 NameNode 上傳第二個(gè)block塊的存儲(chǔ)節(jié)點(diǎn),不斷往復(fù)存儲(chǔ) 當(dāng)所有block塊傳輸完成之后,Client調(diào)用FSDataOutputSteam的close方法關(guān)閉輸出流,最后調(diào)用FileSystem的complete方法告知NameNode數(shù)據(jù)寫(xiě)入成功

五、HDFS讀取數(shù)據(jù)流程

客戶端會(huì)先帶著讀取路徑向NameNode發(fā)送讀取請(qǐng)求,通過(guò) RPC 與 NameNode 建立通訊,NameNode檢查目標(biāo)文件,來(lái)確定請(qǐng)求文件 block塊的位置信息 NameNode會(huì)視情況返回文件的部分或者全部block塊列表,對(duì)于每個(gè)block塊,NameNode 都會(huì)返回含有該 block副本的 DataNode 地址 這些返回的 DataNode 地址,會(huì)按照集群拓?fù)浣Y(jié)構(gòu)得出 DataNode 與客戶端的距離,然后進(jìn)行排序,排序兩個(gè)規(guī)則:網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中距離 Client 近的排靠前;心跳機(jī)制中超時(shí)匯報(bào)的 DN 狀態(tài)為 STALE,這樣的排靠后; Client 選取排序靠前的 DataNode 調(diào)用FSDataInputSteam的read方法來(lái)讀取 block塊數(shù)據(jù),如果客戶端本身就是DataNode,那么將從本地直接獲取block塊數(shù)據(jù) 當(dāng)讀完一批的 block塊后,若文件讀取還沒(méi)有結(jié)束,客戶端會(huì)繼續(xù)向NameNode 獲取下一批的 block 列表,繼續(xù)讀取 所有block塊讀取完成后,Client調(diào)用FSDataInputStream.close()方法,關(guān)閉輸入流,并將讀取來(lái)所有的 block塊合并成一個(gè)完整的最終文件

六、HDFS缺陷

注意:早期版本

單點(diǎn)問(wèn)題 內(nèi)存受限

總結(jié)

上述給大家講解了簡(jiǎn)單的HDFS架構(gòu),我在最后面留了一個(gè)小問(wèn)題,我會(huì)在下期通過(guò)畫(huà)圖的方式給大家講解,我在這里為大家提供大數(shù)據(jù)的資料需要的朋友可以去下面GitHub去下載,信自己,努力和汗水總會(huì)能得到回報(bào)的。
責(zé)任編輯:YYX

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

    關(guān)注

    8

    文章

    7349

    瀏覽量

    95057
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4897

    瀏覽量

    90313
  • HDFS
    +關(guān)注

    關(guān)注

    1

    文章

    32

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    深度剖析U-Boot ADC Uclass:從架構(gòu)到實(shí)戰(zhàn)的全維度解析

    、數(shù)據(jù)流到實(shí)戰(zhàn)開(kāi)發(fā),全方位拆解?U-Boot ADC Uclass?的設(shè)計(jì)精髓,幫你吃透這核心子系統(tǒng)。 架構(gòu)概覽:三層架構(gòu),職責(zé)分明
    的頭像 發(fā)表于 04-26 07:08 ?59次閱讀
    深度剖析U-Boot ADC Uclass:從<b class='flag-5'>架構(gòu)</b>到實(shí)戰(zhàn)的全維度<b class='flag-5'>解析</b>

    搞懂瑞芯微平臺(tái)Trust架構(gòu):從原理到問(wèn)題排查全解析

    的 Trust 固件正是基于這技術(shù)構(gòu)建的安全基石,承擔(dān)著電源管理、安全隔離、數(shù)據(jù)保護(hù)等關(guān)鍵職能。本文將從基礎(chǔ)原理、平臺(tái)實(shí)現(xiàn)到問(wèn)題排查,全面解析瑞芯微 Trust 架構(gòu)的核心知識(shí)。
    的頭像 發(fā)表于 04-13 16:14 ?4689次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>搞懂瑞芯微平臺(tái)Trust<b class='flag-5'>架構(gòu)</b>:從原理到問(wèn)題排查全<b class='flag-5'>解析</b>

    淘寶 API 技術(shù)架構(gòu)與實(shí)戰(zhàn)指南:從實(shí)時(shí)數(shù)據(jù)流到 AIGC 融合的電商開(kāi)發(fā)新范式

    ? ?在數(shù)字經(jīng)濟(jì)加速滲透的今天,淘寶開(kāi)放平臺(tái) API 已從簡(jiǎn)單的數(shù)據(jù)交互工具進(jìn)化為支撐電商創(chuàng)新的核心基礎(chǔ)設(shè)施。2025 年,淘寶 API 體系迎來(lái)重大技術(shù)躍遷,實(shí)時(shí)數(shù)據(jù)流、GraphQL 接口與隱私
    的頭像 發(fā)表于 04-07 16:10 ?246次閱讀

    RDMA設(shè)計(jì)33:RoCE v2 接收模塊

    生成接收隊(duì)列條目并寫(xiě)入接收隊(duì)列。 READ 單元:當(dāng)接收到來(lái)自遠(yuǎn)程主機(jī)的 READ 包后,READ 單元將解析 READ數(shù)據(jù)包中的請(qǐng)求數(shù)據(jù)地址,請(qǐng)求
    發(fā)表于 01-30 10:08

    寫(xiě)入,永久鎖定!OTP存儲(chǔ)操作需謹(jǐn)慎

    今天,我們起來(lái)聊聊LuatOS中的OTP功能。 OTP(One-Time Programmable Memory) 是次性可編程存儲(chǔ)。其核心特點(diǎn)是 “寫(xiě)入,永久鎖定” ,
    的頭像 發(fā)表于 01-27 17:52 ?1277次閱讀
    <b class='flag-5'>一</b>次<b class='flag-5'>寫(xiě)入</b>,永久鎖定!OTP存儲(chǔ)操作需謹(jǐn)慎

    【瑞薩RA6E2地奇星開(kāi)發(fā)板試用】?jī)?nèi)部Code flash和Data flash寫(xiě)入數(shù)據(jù)并通過(guò)OLED顯示

    Flash 擦除、寫(xiě)入、讀取數(shù)據(jù)驗(yàn)證的全流程可行性,為后續(xù)嵌入式項(xiàng)目存儲(chǔ)方案提供參考依據(jù)。 1.2 硬件與軟件環(huán)境 類(lèi)別 參數(shù)/配置 開(kāi)發(fā)板 瑞薩RA6E2地奇星開(kāi)發(fā)板 主控芯片
    發(fā)表于 12-12 20:15

    歐姆龍推出全新數(shù)據(jù)流邊緣控制器DX1

    2025年11月,歐姆龍自動(dòng)化(中國(guó))有限公司發(fā)布新品【數(shù)據(jù)流控制器DX1】。DX1作為一款數(shù)據(jù)流邊緣控制器,面對(duì)生產(chǎn)現(xiàn)場(chǎng)數(shù)據(jù)采集與活用困難、數(shù)據(jù)需求因人/設(shè)備而異、需關(guān)停設(shè)備才能引入
    的頭像 發(fā)表于 11-26 18:02 ?1432次閱讀
    歐姆龍推出全新<b class='flag-5'>數(shù)據(jù)流</b>邊緣控制器DX1

    modbus消息幀的模塊化架構(gòu)介紹

    01/02/03/04 讀取線圈/輸入/保持寄存器 數(shù)據(jù)寫(xiě)入 05/06/15/16 寫(xiě)入單個(gè)/多個(gè)寄存器 診斷類(lèi) 08/0B/0E 設(shè)備診斷/異常報(bào)告 3.
    發(fā)表于 11-17 08:15

    視頻數(shù)據(jù)流傳輸?shù)目蚣艽罱ㄋ悸?/a>

    采集模塊是在 DDR3 和傳感器都初始化完成之后才開(kāi)始輸出數(shù)據(jù)的,避免了在 DDR3 初始化過(guò)程中向里面寫(xiě)入數(shù)據(jù)。 為了避免當(dāng)前讀取的圖像與上
    發(fā)表于 10-24 06:53

    企業(yè)級(jí)HDFS高可用與YARN資源調(diào)度方案

    作為名在大數(shù)據(jù)運(yùn)維領(lǐng)域摸爬滾打8年的老兵,我見(jiàn)過(guò)太多因?yàn)榛A(chǔ)架構(gòu)不夠健壯而導(dǎo)致的生產(chǎn)事故。今天,我想和大家分享套經(jīng)過(guò)實(shí)戰(zhàn)檢驗(yàn)的 HDFS
    的頭像 發(fā)表于 09-08 17:15 ?886次閱讀

    GraniStudio:IO寫(xiě)入例程

    說(shuō)明 實(shí)現(xiàn)輸出IO控制以及讀取。 2.1通過(guò)初始化IO算子連接格拉尼控制器IO塊,導(dǎo)入工程自動(dòng)進(jìn)行連接。 2.2 通過(guò)IO配置算子輸出配置的IO表。 第次使用GS軟件時(shí)操作步驟如下: (1)運(yùn)行GS軟件; (2)打開(kāi)資源管理器界面; (3)在算子庫(kù)板卡模版找到IO配置算
    的頭像 發(fā)表于 08-22 16:47 ?899次閱讀
    GraniStudio:IO<b class='flag-5'>寫(xiě)入</b>例程

    傾斜儀測(cè)量數(shù)據(jù)讀取與分析指南

    在結(jié)構(gòu)物安全監(jiān)測(cè)中,傾斜儀的數(shù)據(jù)精準(zhǔn)度直接影響工程安全評(píng)估結(jié)果。南京峟思了解到很多用戶想了解傾斜儀的數(shù)據(jù)讀取和分析相關(guān)內(nèi)容,那么下面我們將結(jié)合本公司的傾斜儀產(chǎn)品給大家做出具體的介紹:
    的頭像 發(fā)表于 08-06 14:50 ?785次閱讀
    傾斜儀測(cè)量<b class='flag-5'>數(shù)據(jù)</b>的<b class='flag-5'>讀取</b>與分析指南

    看懂芯片的設(shè)計(jì)流程

    引言:前段時(shí)間給大家做了芯片設(shè)計(jì)的知識(shí)鋪墊(關(guān)于芯片設(shè)計(jì)的些基本知識(shí)),今天這篇,我們正式介紹芯片設(shè)計(jì)的具體流程。芯片分為數(shù)字芯片、模擬芯片、數(shù)?;旌闲酒榷喾N類(lèi)別。不同類(lèi)別的設(shè)計(jì)流程也存在
    的頭像 發(fā)表于 07-03 11:37 ?3070次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>看懂芯片的設(shè)計(jì)<b class='flag-5'>流程</b>

    GPU架構(gòu)深度解析

    GPU架構(gòu)深度解析從圖形處理到通用計(jì)算的進(jìn)化之路圖形處理單元(GPU),作為現(xiàn)代計(jì)算機(jī)中不可或缺的部分,已經(jīng)從最初的圖形渲染專用處理器,發(fā)展成為強(qiáng)大的并行計(jì)算引擎,廣泛應(yīng)用于人工智能、科學(xué)計(jì)算
    的頭像 發(fā)表于 05-30 10:36 ?2044次閱讀
    GPU<b class='flag-5'>架構(gòu)</b>深度<b class='flag-5'>解析</b>

    如何從CYUSB3014-BZXCT讀取/寫(xiě)入EEPROM固件?

    個(gè)芯片讀取數(shù)據(jù),然后通過(guò) USB 將相同的數(shù)據(jù)寫(xiě)入第二個(gè)芯片。 我是這個(gè)領(lǐng)域的新手。 你能告訴我怎樣做嗎? 據(jù)我所知,我需要CYPRES
    發(fā)表于 05-07 06:46
    宁强县| 古蔺县| 汉源县| 扬中市| 日照市| 苍南县| 绥芬河市| 长宁区| 绥中县| 东安县| 普宁市| 基隆市| 甘洛县| 随州市| 密山市| 深圳市| 小金县| 武山县| 巴林左旗| 黎川县| 凯里市| 潞西市| 武川县| 页游| 阳曲县| 游戏| 堆龙德庆县| 雷波县| 连平县| 确山县| 鹤岗市| 吉木乃县| 乐安县| 河南省| 栾川县| 米林县| 邵阳市| 平湖市| 江津市| 东乌| 永春县|