色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    7128

    瀏覽量

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

    關(guān)注

    13

    文章

    4344

    瀏覽量

    86047
  • HDFS
    +關(guān)注

    關(guān)注

    1

    文章

    30

    瀏覽量

    9623
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    影響25Q20D閃存芯片寫(xiě)入速度和使用壽命的因素有哪些?

    影響25Q20D閃存芯片寫(xiě)入速度和使用壽命的因素有哪些?首先我們來(lái)談?wù)動(dòng)绊?b class='flag-5'>寫(xiě)入速度九個(gè)方面:存儲(chǔ)容量和架構(gòu):存儲(chǔ)容量的增加會(huì)導(dǎo)致芯片內(nèi)部的數(shù)據(jù)管理和尋址更為復(fù)雜,從而影響
    的頭像 發(fā)表于 01-22 16:48 ?104次閱讀
    影響25Q20D閃存芯片<b class='flag-5'>寫(xiě)入</b>速度和使用壽命的因素有哪些?

    適用于Oracle的SSIS數(shù)據(jù)流組件:提供快速導(dǎo)入及導(dǎo)出功能

    使用SSIS 數(shù)據(jù)流組件,通過(guò)與關(guān)鍵數(shù)據(jù)庫(kù)和云服務(wù)的 Oracle 數(shù)據(jù)集成來(lái)改進(jìn)您的 ETL 流程,這些組件提供快捷和可靠的數(shù)據(jù)導(dǎo)入和導(dǎo)出
    的頭像 發(fā)表于 01-15 10:51 ?134次閱讀
    適用于Oracle的SSIS<b class='flag-5'>數(shù)據(jù)流</b>組件:提供快速導(dǎo)入及導(dǎo)出功能

    芯片封測(cè)架構(gòu)和芯片封測(cè)流程

    在此輸入導(dǎo)芯片封測(cè)芯片封測(cè)是個(gè)復(fù)雜且精細(xì)的過(guò)程,它涉及多個(gè)步驟和環(huán)節(jié),以確保芯片的質(zhì)量和性能。本文對(duì)芯片封測(cè)架構(gòu)和芯片封測(cè)流程進(jìn)行概述。 ? ? 1 芯片封測(cè) 芯片封測(cè),即芯片封裝測(cè)試,是芯片制造
    的頭像 發(fā)表于 12-31 09:15 ?427次閱讀
    芯片封測(cè)<b class='flag-5'>架構(gòu)</b>和芯片封測(cè)<b class='flag-5'>流程</b>

    使用STM32的spi與AFE4400通信,每寫(xiě)入讀取個(gè)數(shù)據(jù)都需要等待幾百微秒后才能繼續(xù)操作否則讀取數(shù)據(jù)都是0,為什么?

    使用STM32的spi與AFE4400通信,每寫(xiě)入讀取個(gè)數(shù)據(jù)都需要等待幾百微秒后才能繼續(xù)操作,否則讀取
    發(fā)表于 12-13 06:13

    使用ads1219這款模數(shù)轉(zhuǎn)換器,讀寫(xiě)流程和使用single-shot模式和continuous的區(qū)別是什么?

    ,如果我是使用continuous模式,是不是我開(kāi)始只要把配置好的數(shù)據(jù)和START/SYNC寫(xiě)進(jìn)去,就可以開(kāi)始continuous轉(zhuǎn)換了? 針對(duì)我這個(gè)讀取單端兩路模擬信號(hào),我設(shè)計(jì)的I2C寫(xiě)讀的
    發(fā)表于 12-10 06:12

    請(qǐng)問(wèn)TLV320AIC3254EVM-K怎么讀取音頻數(shù)據(jù)流

    您好,我在學(xué)習(xí)TLV320AIC3254EVM-K開(kāi)發(fā)板的過(guò)程中碰到個(gè)這樣的問(wèn)題,TI提供的軟件是否具備讀取I2S的音頻數(shù)據(jù)流的功能,或者是否有PC機(jī)軟件可以讀取音頻
    發(fā)表于 10-31 06:14

    統(tǒng)日志數(shù)據(jù)流

    統(tǒng)日志數(shù)據(jù)流圖 日志系統(tǒng)數(shù)據(jù)流圖 系統(tǒng)進(jìn)行日志收集的過(guò)程可以分為三個(gè)環(huán)節(jié): (1)日志收集和導(dǎo)入ElasticSearch (2)ElasticSearch進(jìn)行索引等處理 (3)可視化操作,查詢等
    的頭像 發(fā)表于 08-21 15:00 ?329次閱讀
    統(tǒng)<b class='flag-5'>一</b>日志<b class='flag-5'>數(shù)據(jù)流</b>圖

    自動(dòng)售貨機(jī)MDB協(xié)議中文解析(六)MDB-RS232控制硬幣器的流程解析

    自動(dòng)售貨機(jī)MDB協(xié)議中文解析(六)MDB-RS232控制硬幣器的流程解析
    的頭像 發(fā)表于 08-19 15:53 ?736次閱讀
    自動(dòng)售貨機(jī)MDB協(xié)議中文<b class='flag-5'>解析</b>(六)MDB-RS232控制硬幣器的<b class='flag-5'>流程</b>和<b class='flag-5'>解析</b>

    ESP32可以直接寫(xiě)入RX的高低電平,和直接讀取TX的高低電平嗎?

    如果串口的rx和tx的高低電平都是通過(guò)代碼得到的狀態(tài),想把這個(gè)高低電平的變化解析成串口數(shù)據(jù)流,在不占用IO的情況下能否解析數(shù)據(jù)? 也就是在includesocuart_struct
    發(fā)表于 06-07 08:20

    請(qǐng)問(wèn)如何從APPL_InputMapping和APPL_OutputMapping讀取數(shù)據(jù)

    我有個(gè)簡(jiǎn)介,如下所示、 我可以讀取寫(xiě)入 0x6000 和 0X7000 的數(shù)據(jù),但無(wú)法讀取
    發(fā)表于 05-21 08:19

    STM32F030 FLASH存儲(chǔ),第二次或者多次寫(xiě)入或者擦除的時(shí)候讀取不到數(shù)據(jù)是為什么?

    最新在用STM32F030 因?yàn)闆](méi)有外部存儲(chǔ)設(shè)備,現(xiàn)在用的是芯片的FLASH來(lái)當(dāng)存儲(chǔ),現(xiàn)在遇到的問(wèn)題是刷次程序后,第讀取可以讀取到,當(dāng)?shù)诙位蛘叨啻?/div>
    發(fā)表于 04-10 07:34

    解析DARM工藝流程

    DRAM(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)的工藝流程包括多個(gè)關(guān)鍵步驟。
    發(fā)表于 04-05 04:50 ?5938次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>解析</b>DARM工藝<b class='flag-5'>流程</b>

    交換芯片架構(gòu)設(shè)計(jì)

    交換芯片的架構(gòu)設(shè)計(jì)是網(wǎng)絡(luò)設(shè)備性能和功能的關(guān)鍵。個(gè)高效的交換芯片架構(gòu)能夠處理大量的數(shù)據(jù)流量,支持高速數(shù)據(jù)傳輸,并提供先進(jìn)的網(wǎng)絡(luò)功能。
    的頭像 發(fā)表于 03-21 16:28 ?593次閱讀

    空指針區(qū)域寫(xiě)入數(shù)據(jù)會(huì)hardfault,為什么測(cè)試時(shí)讀取卻不會(huì)hardfault?

    空指針區(qū)域寫(xiě)入數(shù)據(jù)會(huì)hardfault,這個(gè)大家都知道, 但是測(cè)試時(shí)發(fā)現(xiàn)讀取時(shí)卻不會(huì),這是為什么?有人知道嗎?
    發(fā)表于 03-14 08:20

    ?PLC從HTTP服務(wù)端獲取JSON文件,解析數(shù)據(jù)到寄存器

    文件提交給HTTP的服務(wù)端; 服務(wù)端有返回的JSON,或者GET命令獲取到的JSON,網(wǎng)關(guān)進(jìn)行解析后將數(shù)據(jù)寫(xiě)入到PLC寄存器。 本文主要描述通過(guò)GET命令獲取數(shù)據(jù)
    發(fā)表于 01-24 09:47
    主站蜘蛛池模板: 人人草影院| 秋霞电影伦网理最新在线看片 | 亚洲AV精品无码成人| 日韩中文无线码在线视频| 风流少妇BBWBBW69视频| 本庄优花aⅴ全部在线影片| 97视频在线观看免费视频| 中文字幕人妻无码系列第三区| 在线观看国产人视频免费中国| 一个人在线观看视频免费| 亚洲视频第二页| 亚洲中文在线偷拍| 一区二区三区毛AAAA片特级| 一二三四高清中文版视频| 欲香欲色天天综合和网| 尤物国产在线精品三区| 中国少妇内射XXXX狠干| 4hu四虎免费影院www| 99久久久久精品国产免费麻豆| JLZZJLZZJLZ老师好多的水| 波野结衣qvod| 俄罗斯美女z0z0z0在线| 国产精品无码视频一区二区| 国产三级在线观看免费| 红杏俱乐部| 久久日本精品在线热| 美女MM131爽爽爽| 欧美亚洲韩日午夜| 日韩人妻无码精品-专区| 无码人妻精品国产婷婷| 亚洲精品免费视频| 中国人泡妞www免费| ewp系列虐杀在线视频| 调教玩弄奶头乳夹开乳震动器| 国产成人无码WWW免费视频在线| 国产偷啪自怕网| 久久国产免费| 欧美18videosex性欧美老师| 日韩欧美亚洲精品综合在线| 午夜国产福利| 野花韩国高清完整版在线观看5|