? 亚洲精品久久久久成人2007_帶你入坑大數據(一) --- HDFS基礎概念篇-天津九安特機電工程有限公司

亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费

?
帶你入坑大數據(一) --- HDFS基礎概念篇
2026-05-05 8

## 一、數據HDFS的基礎概念先簡(jiǎn)單(′?_?`)過(guò)一下基礎概念,起碼知道接下來(lái)要說(shuō)的概念東西和這個(gè)東西是用來(lái)干啥的

1.1 Hadoop架構HDFS(Hadoop Distr┐(′?`)┌ibuted FileSystem),由(you)3個(gè)(ge)模塊組成:分布式存儲HDFS,數據分(fen)布式計算MapReduce,基礎資源調度框架(◎_◎;)Yarn![](https://user-gold-cdn.xitu.io/2019/11/10/16e5189e5518ed(′;ω;`)f6?概念w=564&a(????)mp;h=426&f=png&s=32400)大量的文件可以分散存儲在不同的服務(wù)器上面單個(gè)文件比較大,單塊磁盤(pán)放不下,數據可以切分成很多小的基礎??block塊,分散存儲在不同的ヾ(′▽?zhuān)??概念服務(wù)器上面,各服務(wù)器通過(guò)網(wǎng)絡(luò )連接,數據造成一個(gè)整體?;A 

 1.2 核心(/ω\)概念blockHDFS3.x上的概念文件會(huì )(hui)按照128M為單位切分成一個(gè)個(gè)的block,分散存儲在集群的數(shu)據不同的數據節點(diǎn)(dian)datanode上,需要注意的基礎是,這個(gè)操作是概念HDFS自動(dòng)完成的。![](https://user-gold-cdn.xitu.io/2019/11/1(°□°)0/16e518b1f473fd46?w=785&h=909&f=png&s=131162)假設我們現在要存儲一個(gè)300M的文件,這個(gè)300M就會(huì )被切分成 datanode1:12??8M + datanode2:128M + datanode3:44M這時(shí)我們需要知道,就算它的底層邏輯會(huì )按照128M進(jìn)行劃分,可是data??node3一個(gè)實(shí)際占用44M的塊也是(shi)不會(huì )占據128M的空間的 

1.3 block的副本為什么hadoop直至今天會(huì )??這么流行,就是因為它的初始(′_`)設計就是可以部署??在商用服務(wù)器上,而我們知道,商用服務(wù)器是非常廉價(jià)的,而這種廉價(jià)的服務(wù)器就很容易出現故障,比如CPU,( ?° ?? ?°)IO內存等等都可能會(huì )產(chǎn)生問(wèn)題按照我們剛剛1.2的說(shuō)法,一個(gè)文件被分成了3塊存儲在不同的datanode上,萬(wàn)一其中(zhong)的一個(gè)datanode掛掉,那豈不(bu)是這個(gè)文件就找不回來(lái)了嗎,所以hadoop還對我們的每一個(gè)數據塊做了一個(gè)副本,保證數據??的可靠性副本數可以自己進(jìn)行手動(dòng)(dong)設置,一般是3個(gè)副本 hdfs-site.xml(╬?益?) dfs.replication 3可以清晰看到value的值為3,我們的副本數就為3類(lèi)似于(yu)這些個(gè)屬性我們是如何得知它們的作用的呢,在上可以查看,這里用的2.7.3。點(diǎn)開(kāi)官方文檔,在左側邊欄拉至最下方可以看到configuration項當然我們需要找對文??件,是HDFS的內容就要找hdfs-default.xml,如果是MapReduce,就要mapr(′▽?zhuān)?)ed-default.xml,yarn的就是yarn(′?_?`)-default.xml![](https://user-gold-cdn.xitu.io/??2019/11/6/16e3fcb00f78c??c5f?w=195&h=189&f=png&s=14058)點(diǎn)擊hdfs-default.xml,可以按下ctrl+f進(jìn)行搜索,輸入dfs.replication回車(chē)![](https://user-gold-cdn.xitu.io/2019/11/6/16??e3fc94b3e79771?w=19??0?1&h=653&f=png&s=176246)這里我們就可以看到了,dfs.replication的默認值就??是為3,后面的參數說(shuō)??明寫(xiě)著(zhù)default block replication,而下面的參數dfs.replication.max就是副本最(zui)大可設置為512的意??思了同樣剛剛在 1.2 核心概念blo??ck 時(shí)我們提到的block大小為128M在這ヾ(′▽?zhuān)??個(gè)文件中也可以找到![](htt??ps://user-gold-cdn.xitu.io/2019/11/6/16e4160881360377?w=1890&h=155&am(°o°)p;f=png&s=40493)所以其實(shí)每一個(gè)數據塊block的大小也是可以自主設置的#### 1.3.1 機架存儲策略![](https://user-gold-cdnヾ(′▽?zhuān)??.xitu.io/2019/11/10/1(╬?益?)6e5188fc1f2be0e?w=811&h=810(?????)&f=png&s=820078)實(shí)際機房中,會(huì )有(http??s://image.baidu.com/search/index?tn=baiduimage??&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&ヽ(′ー`)ノ;fm??=result&fr=&s(′_ゝ`)f=1&fmq=1573029886236_R&pv=&ic=&nc=1&z=&hd=&latest=©right=&se=1&showtab=0&fb=0&width=&a??mp;height=&face=0&istyヾ(′▽?zhuān)??pe=2&ie=utf-8&sid=&wordˉ\_(ツ)_/ˉ=%E6%9C%8D%E??5%8A%A1%E5%99%A8%E6%9C%BA%E6%9E%B6),每個(gè)機架上會(huì )有ヾ(′?`)?若干臺服務(wù)器一般來(lái)說(shuō)我們會(huì )把一個(gè)block的3個(gè)副本分別按照下述方法進(jìn)行存儲: 第一個(gè)副本就存儲在一個(gè)機架A上 第二個(gè)副本??存儲在和這個(gè)block塊不同機架(比如機架B)的一個(gè)服務(wù)器上我們存儲第2個(gè)副本時(shí)會(huì )優(yōu)先把副本存儲在不同的機架上,這是為了防止出現一個(gè)機架斷電的ヽ(′▽?zhuān)?ノ情況,如果副本也存儲在同機架上的不同服務(wù)器上,這時(shí)候數據就可能丟失了。 第三個(gè)副本存儲在機架B的另外一個(gè)服務(wù)器上(注意副本2,3都存儲在了機架B)為什么會(huì )這么選擇,因為如果我們把副本3也放在另外一個(gè)機架C上,副本2和副本3之間的通信就需要副本2通??過(guò)它的交換機去聯(lián)系總交換機,然后總交換機去聯(lián)??系機架C的交換機,需要走的路線(xiàn)非常長(cháng),而且機房中的帶寬資源非常寶貴,如果處于高并發(fā)的情況,很容易就把機房的帶寬打滿(mǎn),此時(shí)整一個(gè)(╬?益?)集群的響應速度會(huì )急劇下降,這時(shí)候服務(wù)就會(huì )出現問(wèn)題了。當然我們的副本數也是可以手動(dòng)通過(guò)命令增加的,在客戶(hù)端訪(fǎng)問(wèn)量多的時(shí)候,可以適當分配一下壓力 $ hadoop fs -setrep -R 4 path+FileNamesetreヽ(′ー`)ノp的意思其實(shí)就是set replication,設置副本數的縮寫(xiě),上面命令就是將副本數設置成4份了,后面跟著(zhù)文件路徑和文件名即可### 二、HDFS的三大組件![](https://user-gold-cdn.xitu.io/2ヽ(′▽?zhuān)?ノ019/11/10/16e51885831a1393?w=1028&h=393&f=png&s=??54577)再次強調一下,大數據的框架大部分其實(shí)都是主從架構,就是一主多從,等下要講到的HDFS就是一個(gè)NameNode,多個(gè)DataNode,MapReduce就是一個(gè)JobTracker,多個(gè)TaskTracker,Yarn則是一個(gè)Res┐(′д`)┌ourceManager,多個(gè)NodeManager,而Spark就是一個(gè)Master和多個(gè)Slav?????eDataNode的介紹其實(shí)可以省略,姑且??只需要知道它的作用是存放block塊的即可。 

 2.1 NameNode的介紹大數據框架都是分布式的,可能每個(gè)角色都運行在各個(gè)不同的服務(wù)器上面,需要進(jìn)行通信的時(shí)候就要需要網(wǎng)絡(luò )的支持,而在我們客戶(hù)端需要讀一個(gè)文件的信息時(shí),必須知道我們這個(gè)文件被分成了多少個(gè)block,各個(gè)block又分別存儲在哪個(gè)服務(wù)器上,這種用于描述文件的信息被稱(chēng)為文件的元數據信息(metaData),而metaData就是存儲在NameNode的ヽ(′▽?zhuān)?/內存中的

2.2 metaData的介紹metaData的大?。何募?,block,目錄占用大概150byte字節的元數據,所以為什么說(shuō)H??DFS適合存儲大文件而不適合存儲小文件( ?ヮ?),可想而知存儲一個(gè)大文件就只有一份150byte的元數據,存儲N多個(gè)小文件就會(huì )伴隨存在N份150Byte字節的元數據文件,這就非常地不劃算元數據信息以命名空間鏡像文件(以下稱(chēng)為fsimage)和編輯日志(以下??稱(chēng)為edits log)的方式保存,兩者的作用分別是 fsimage:元數據鏡像文件,保存了文件系統目錄樹(shù)信息以及文件和塊的對應關(guān)系 edits log:日志文件(jian),保存了文件的更改記錄為什么元數據需要存儲在NameNode的內存中呢,答案很簡(jiǎn)單,存儲在內存中意味著(zhù)快,當然也會(huì )存在問(wèn)題,就是如果NameNode宕機了,內存就無(wú)法讀取了,此時(shí)為(′ω`)了防(╥_╥)止這種情況出現,也為了加快NameNode從故障中恢復的速度(′-ι_-`),就設計了一個(gè)SecondaryNameNode的角色日(ri)志緩存方面:客戶(hù)端向 HDFS 寫(xiě)文件,會(huì )記錄下來(lái)操作日志,而這時(shí)我們會(huì )預先準備好兩塊緩存區域,這個(gè)日志在寫(xiě)滿(mǎn)了第一塊緩存時(shí),會(huì )開(kāi)始錄入磁盤(pán),也就是edi??ts log,NameNode的內存中,這種狀態(tài)就是一個(gè)雙緩存異步寫(xiě)的操作。這樣可以保證客戶(hù)端寫(xiě)的日志ヽ(′▽?zhuān)?ノ時(shí)刻都能被記錄下來(lái)。#### 2.3 SecondaryNameNode的介紹它的作用主要有以下幾點(diǎn)(O_O) 1.備份NameNode中的元數據信息 2.提高NameNode的重啟速度 3.必要??(???)的時(shí)候可作為新的NameNode##### 為什么說(shuō)SecondaryNameNode可以提高NameNode的恢復速度?當集群?jiǎn)?dòng)的時(shí)候,會(huì )記錄??下啟動(dòng)的時(shí)間t,而隨著(zhù)一段時(shí)間過(guò)去后或者??NameNode中的edits log文件存滿(mǎn)后就會(huì )觸發(fā)checkPoint操作,在Spark中也會(huì )有這個(gè)知識點(diǎn),主要作用就是對重要的數據進(jìn)行備份的一個(gè)操作對操作步驟進(jìn)行一個(gè)分點(diǎn)闡述方便大家閱讀1.SecondaryNameNode 會(huì )通過(guò)http get方式把edits log和fsimage的信息拉取過(guò)來(lái)??2.在SecondaryNameNode中把edits log和fsimage做一個(gè)合并,產(chǎn)??生一個(gè)新(xin)的文件叫做fsi??mage.ckpt3.在SecondaryNameNode中合并完成之后,再回(hui)傳給NameNode里面4.這時(shí)大概率會(huì )有客戶(hù)端還在對NameNode進(jìn)行讀寫(xiě)操作,也會(huì )產(chǎn)生新的日志,會(huì )單獨放在一份edits new文件中5.剛剛回傳回來(lái)的fsimage.ckpt進(jìn)行(xing)分解,原本的fsimage和edits log,不過(guò)此時(shí)的edits log會(huì )把edits new中的日志文件一同合并作為完整的一份edit(′?ω?`)s log文件##### 為什么說(shuō)SecondaryNameNode可以提高NameNode的重啟速度首先搞清楚NameNode節點(diǎn)掛掉后它是如何進(jìn)行恢復的首先它會(huì )把內存中的鏡像文件fsimage讀到內存當中,然后通過(guò)edits log所記錄的所有操作重新執行一遍,把所有的元數據都恢復之后,才能回到關(guān)機之前的狀態(tài),這個(gè)過(guò)程十分緩慢但是有了SecondaryNameNo??de之┐(′?`)┌后,通過(guò)(′?`)它提供的fsimage.ckpt可以恢復很大一部分的元數據信息,再直接(jie)通過(guò)執行edits log中所記錄下來(lái)的,從edit??s new中合并過(guò)來(lái)的新操(′▽?zhuān)?作,就可以進(jìn)行恢復而在??NameNod??e確定無(wú)法重啟之(′?_?`)后,SecondaryNameNode就可以通過(guò)以下命令作為新的NameNode對外提供服務(wù) hadoop-daemon.sh start namenode當然我們不難發(fā)現,這種方式非常地不優(yōu)雅,因為在NameNode進(jìn)行重啟或者Sヽ(′▽?zhuān)?ノeco(??ヮ?)?*:???ndaryNameNode進(jìn)行上位的時(shí)間段中我們的集群肯定都會(huì )有一段空白期,所以之后講到的hadoop HA的方式就會(huì )幫助我們解決這個(gè)問(wèn)題 (T_T)

三、HDFS機制 

3.1 心跳機??制![](https://user-gold-cd?n.xitu.io/2019/11/10/16e518d2898c7d2d?w=916&h=445&f=png&s=22305)心跳機制解決了HDFS集群間的通??信問(wèn)題,還是NameNod(′▽?zhuān)?)e命令DataNode執行操作的(de)途徑 1.master namenode啟動(dòng)之后,會(huì )開(kāi)一個(gè)ipc server 2.slave DataNode啟動(dòng),連接NameNode,每隔3s向NameNode發(fā)(╯°□°)╯︵ ┻━┻送一個(gè)心跳,并攜帶狀態(tài)信息 3.NameNode通過(guò)對這個(gè)心跳的返回值來(lái)給DataNode傳達任務(wù)指令心跳機制(zhi)的作用

 1.NameNode全權管理數據塊的復制,它周期性從集群中的每個(gè)DataNode接收心跳信號和塊狀態(tài)報告(bl??oc┐(′?`)┌kReport),接收到心跳信號意味著(zhù)該DataNode節點(diǎn)工作正常,塊狀態(tài)報告包含了該DataNode上所有數據塊的列表

 2.DataNode啟動(dòng)時(shí)向NameNode注冊,通過(guò)后周期性地向NameNode上報blockReport??,每3秒向NameNode發(fā)送一次心跳,NameNode返回對該DataNode的指令,如將數據塊復制到另一臺機器,或刪除某個(gè)數據塊等···而當某一個(gè)DataNode超過(guò)10min還沒(méi)向(xiang)NameN???ode發(fā)送心跳,此時(shí)NameNode就會(huì )判定該DataNode不可用??,此時(shí)客戶(hù)端的讀寫(xiě)操作就不會(huì )再傳達到該DataNode上

 3.hadoop集群剛開(kāi)始啟動(dòng)時(shí)會(huì )進(jìn)入安全模式(99.99%),就用到了(′▽?zhuān)?心跳機制,其實(shí)就是在集群剛啟動(dòng)的時(shí)候,每一個(gè)DataNode都會(huì )向NameNode發(fā)送blockReport,NameNode會(huì )統計它們上報的總block數,除以一開(kāi)始知道的總個(gè)數tota(′?`*)l,當 block/total < 99.99% 時(shí),會(huì )觸發(fā)安全模式,安全模式下客戶(hù)端就沒(méi)法向HDFS寫(xiě)數據,只能進(jìn)行讀數據。?? 

3.2 負載均衡 其實(shí)就是節點(diǎn)的增加或減??少,或者節點(diǎn)的磁盤(pán)使用率高低的問(wèn)題,主要就是通過(guò)網(wǎng)絡(luò )進(jìn)行數據的遷移工作以達ヽ(′▽?zhuān)?ノ到高可用率觸發(fā)命令 $ HADOOP_HOME/sbin/st┐(′ー`)┌art-balancer.sh -t 5%5%其實(shí)就是剛剛提到的磁盤(pán)的利用率差值,大于5%時(shí)會(huì )觸發(fā)負載均衡策略。

集團概況
口碑營(yíng)銷(xiāo) SEO診斷 微信開(kāi)發(fā) AI運營(yíng)推廣 APP開(kāi)發(fā)
新聞中心
百度SEO工具 網(wǎng)站建設 代運營(yíng) APP開(kāi)發(fā) 網(wǎng)站優(yōu)化
產(chǎn)業(yè)介紹
關(guān)鍵詞優(yōu)化 整站優(yōu)化 SEO診斷 百度優(yōu)化 SEO內容優(yōu)化
社會(huì )責任
百度SEO工具 APP開(kāi)發(fā) 口碑營(yíng)銷(xiāo) SEO診斷 微信開(kāi)發(fā)
加入恒興
SEO內容優(yōu)化 網(wǎng)站建設
百度優(yōu)化
關(guān)鍵詞優(yōu)化 AI運營(yíng)推廣
聯(lián)系我們
SEO內容優(yōu)化 百度優(yōu)化 關(guān)鍵詞優(yōu)化
SEO診斷
網(wǎng)站建設

友情鏈接: 荊門(mén)海碼網(wǎng)絡(luò )科技有限公司鐵法識大網(wǎng)絡(luò )科技有限公司通化銘赫網(wǎng)絡(luò )科技有限公司桂林元訊網(wǎng)絡(luò )科技有限公司宿遷爾貿網(wǎng)絡(luò )科技有限公司東港悅旋網(wǎng)絡(luò )科技有限公司雅安源士網(wǎng)絡(luò )科技有限公司萊蕪欣倍網(wǎng)絡(luò )科技有限公司荊門(mén)遠長(cháng)網(wǎng)絡(luò )科技有限公司蕪湖日環(huán)網(wǎng)絡(luò )科技有限公司榮成亞禾網(wǎng)絡(luò )科技有限公司雙鴨山惠月網(wǎng)絡(luò )科技有限公司阜陽(yáng)霸界網(wǎng)絡(luò )科技有限公司寧夏靈武利文網(wǎng)絡(luò )科技有限公司衡陽(yáng)迪皇網(wǎng)絡(luò )科技有限公司宜昌光韋網(wǎng)絡(luò )科技有限公司都江堰倍明網(wǎng)絡(luò )科技有限公司嘉峪關(guān)含聰網(wǎng)絡(luò )科技有限公司北京貝中網(wǎng)絡(luò )科技有限公司麗水派鐵網(wǎng)絡(luò )科技有限公司興義格貴網(wǎng)絡(luò )科技有限公司鶴壁凌邁網(wǎng)絡(luò )科技有限公司津輝富網(wǎng)絡(luò )科技有限公司鹿泉復馳網(wǎng)絡(luò )科技有限公司

番禺愛(ài)營(yíng)網(wǎng)絡(luò )科技有限公司
北海智原網(wǎng)絡(luò )科技有限公司文昌鼎風(fēng)網(wǎng)絡(luò )科技有限公司榆樹(shù)羅百網(wǎng)絡(luò )科技有限公司霍州鑫蔚網(wǎng)絡(luò )科技有限公司雙鴨山紐億網(wǎng)絡(luò )科技有限公司內蒙通遼銘嘯網(wǎng)絡(luò )科技有限公司石首旺倍網(wǎng)絡(luò )科技有限公司濱州彩中網(wǎng)絡(luò )科技有限公司巴中創(chuàng )鼎網(wǎng)絡(luò )科技有限公司岑溪偉覽網(wǎng)絡(luò )科技有限公司遼陽(yáng)中歐網(wǎng)絡(luò )科技有限公司太倉富營(yíng)網(wǎng)絡(luò )科技有限公司瑞麗盈宜網(wǎng)絡(luò )科技有限公司朝陽(yáng)沃衡網(wǎng)絡(luò )科技有限公司穆棱嬌本網(wǎng)絡(luò )科技有限公司

© 2013-2025.Company name All rights reserved.網(wǎng)站地圖 天津九安特機電工程有限公司-More Templates

亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费 景谷| 溧水县| 宾阳县| 铜川市| 镇康县| 揭东县| 铅山县| 景泰县| 武定县| 宁远县| 拜泉县| 绥德县| 黑河市| 龙州县| 修文县| 漠河县| 湘乡市| 宜宾市| 镇坪县| 伊通| 龙泉市| 安阳县| 武功县| 深水埗区| 民和| 遂溪县| 府谷县| 昌宁县| 尼勒克县| 丹凤县| 罗平县| 吴堡县| 西充县| 益阳市| 德安县| 准格尔旗| 民勤县| 乐业县| 桐城市| 鹿泉市| 阳朔县| http://444 http://444 http://444 http://444 http://444 http://444