hadoop-HDFS運行原理

簡介:
HDFS(Hadoop Distributed File System )Hadoop分布式文件系統(tǒng)。是根據(jù)google發(fā)表的論文翻版的厢洞。論文為GFS(Google File System)Google 文件系統(tǒng)([中文]砍的,[英文])运嗜。
HDFS有很多特點
**① **保存多個副本晕城,且提供容錯機制催植,副本丟失或宕機自動恢復叠纷。默認存3份刻帚。
**② **運行在廉價的機器上。
**③ **適合大數(shù)據(jù)的處理涩嚣。多大崇众?多小航厚?HDFS默認會將文件分割成block顷歌,64M為1個block。然后將block按鍵值對存儲在HDFS上幔睬,并將鍵值對的映射存到內(nèi)存中眯漩。如果小文件太多,那內(nèi)存的負擔會很重麻顶。

HDFS原理圖.jpg

如上圖所示赦抖,HDFS也是按照Master和Slave的結(jié)構。分NameNode辅肾、SecondaryNameNode队萤、DataNode這幾個角色。
NameNode:是Master節(jié)點矫钓,是大領導要尔。管理數(shù)據(jù)塊映射舍杜;處理客戶端的讀寫請求;配置副本策略赵辕;管理HDFS的名稱空間既绩;(它是整個文件系統(tǒng)的管理節(jié)點。維護著整個文件系統(tǒng)的文件目錄樹还惠,文件/目錄的元信息和每個文件對應的數(shù)據(jù)塊列表熬词。接收用戶的操作qingqi)
SecondaryNameNode:是一個小弟,分擔大哥namenode的工作量吸重;是NameNode的冷備份互拾;合并fsimage和fsedits然后再發(fā)給namenode。
DataNode:Slave節(jié)點嚎幸,奴隸颜矿,干活的。負責存儲client發(fā)來的數(shù)據(jù)塊block嫉晶;執(zhí)行數(shù)據(jù)塊的讀寫操作骑疆。
熱備份:b是a的熱備份,如果a壞掉替废。那么b馬上運行代替a的工作箍铭。
冷備份:b是a的冷備份,如果a壞掉椎镣。那么b不能馬上代替a工作诈火。但是b上存儲a的一些信息,減少a壞掉之后的損失状答。
fsimage:元數(shù)據(jù)鏡像文件(文件系統(tǒng)的目錄樹冷守。)
edits:元數(shù)據(jù)的操作日志(針對文件系統(tǒng)做的修改操作記錄)
namenode內(nèi)存中存儲的是=fsimage+edits。**
SecondaryNameNode負責定時默認1小時惊科,從namenode上拍摇,獲取fsimage和edits來進行合并,然后再發(fā)送給namenode馆截。減少namenode的工作量充活。

工作原理
寫操作:

寫操作.jpg

有一個文件FileA,100M大小蜡娶。Client將FileA寫入到HDFS上混卵。
HDFS按默認配置。
HDFS分布在三個機架上Rack1翎蹈,Rack2淮菠,Rack3。

a. Client將FileA按64M分塊荤堪。分成兩塊合陵,block1和Block2;
b. Client向nameNode發(fā)送寫數(shù)據(jù)請求枢赔,如圖藍色虛線①------>。
c. NameNode節(jié)點拥知,記錄block信息踏拜。并返回可用的DataNode,如粉色虛線②--------->低剔。
Block1: host2,host1,host3
Block2: host7,host8,host4
原理:
NameNode具有RackAware機架感知功能速梗,這個可以配置。
若client為DataNode節(jié)點襟齿,那存儲block時姻锁,規(guī)則為:副本1,同client的節(jié)點上猜欺;副本2位隶,不同機架節(jié)點上;副本3开皿,同第二個副本機架的另一個節(jié)點上涧黄;其他副本隨機挑選。
若client不為DataNode節(jié)點赋荆,那存儲block時笋妥,規(guī)則為:副本1,隨機選擇一個節(jié)點上窄潭;副本2春宣,不同副本1,機架上狈孔;副本3信认,同副本2相同的另一個節(jié)點上材义;其他副本隨機挑選均抽。
d. client向DataNode發(fā)送block1;發(fā)送過程是以流式寫入其掂。
流式寫入過程油挥,
** 1>**將64M的block1按64k的package劃分;
2>然后將第一個package發(fā)送給host2;
3>host2接收完后,將第一個package發(fā)送給host1,同時client想host2發(fā)送第二個package;
4>host1接收完第一個package后阳液,發(fā)送給host3晋修,同時接收host2發(fā)來的第二個package。
5>以此類推急黎,如圖紅線實線所示,直到將block1發(fā)送完畢。
6>host2,host1,host3向NameNode闰集,host2向Client發(fā)送通知沽讹,說“消息發(fā)送完了”。如圖粉紅顏色實線所示武鲁。
7>client收到host2發(fā)來的消息后爽雄,向namenode發(fā)送消息,說我寫完了沐鼠。這樣就真完成了挚瘟。如圖黃色粗實線
8>發(fā)送完block1后,再向host7饲梭,host8乘盖,host4發(fā)送block2,如圖藍色實線所示憔涉。
9>發(fā)送完block2后侧漓,host7,host8,host4向NameNode,host7向Client發(fā)送通知监氢,如圖淺綠色實線所示布蔗。
10>client向NameNode發(fā)送消息,說我寫完了浪腐,如圖黃色粗實線纵揍。。议街。這樣就完畢了泽谨。
分析,通過寫過程特漩,我們可以了解到:
寫1T文件吧雹,我們需要3T的存儲,3T的網(wǎng)絡流量貸款涂身。
在執(zhí)行讀或?qū)懙倪^程中雄卷,NameNode和DataNode通過HeartBeat進行保存通信,確定DataNode活著蛤售。如果發(fā)現(xiàn)DataNode死掉了丁鹉,就將死掉的DataNode上的數(shù)據(jù),放到其他節(jié)點去悴能。讀取時揣钦,要讀其他節(jié)點去。
掛掉一個節(jié)點漠酿,沒關系冯凹,還有其他節(jié)點可以備份;甚至炒嘲,掛掉某一個機架宇姚,也沒關系团驱;其他機架上,也有備份空凸。

讀操作:

讀操作.jpg

讀操作就簡單一些了嚎花,如圖所示,client要從datanode上呀洲,讀取FileA紊选。而FileA由block1和block2組成。

那么道逗,讀操作流程為:
a. client向namenode發(fā)送讀請求兵罢。
b. namenode查看Metadata信息,返回fileA的block的位置滓窍。
block1:host2,host1,host3
block2:host7,host8,host4
c. block的位置是有先后順序的卖词,先讀block1,再讀block2吏夯。而且block1去host2上讀却蓑凇;然后block2噪生,去host7上讀锐烧浴;

上面例子中跺嗽,client位于機架外战授,那么如果client位于機架內(nèi)某個DataNode上,例如,client是host6桨嫁。那么讀取的時候植兰,遵循的規(guī)律是:
優(yōu)選讀取本機架上的數(shù)據(jù)

HDFS中常用到的命令
1璃吧、hadoop fs
+ View Code

2楣导、hadoop fsadmin
+ View Code

3、hadoop fsck
4肚逸、start-balancer.sh

HDFS目錄結(jié)構

hdfs目錄結(jié)構.png
2016-11-01_205729.png
多個備份.png
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末爷辙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子朦促,更是在濱河造成了極大的恐慌,老刑警劉巖栓始,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件务冕,死亡現(xiàn)場離奇詭異,居然都是意外死亡幻赚,警方通過查閱死者的電腦和手機禀忆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門臊旭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人箩退,你說我怎么就攤上這事离熏。” “怎么了戴涝?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵滋戳,是天一觀的道長。 經(jīng)常有香客問我啥刻,道長奸鸯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任可帽,我火速辦了婚禮娄涩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘映跟。我一直安慰自己蓄拣,他們只是感情好,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布努隙。 她就那樣靜靜地躺著弯蚜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剃法。 梳的紋絲不亂的頭發(fā)上碎捺,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機與錄音贷洲,去河邊找鬼收厨。 笑死,一個胖子當著我的面吹牛优构,可吹牛的內(nèi)容都是我干的诵叁。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼钦椭,長吁一口氣:“原來是場噩夢啊……” “哼拧额!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起彪腔,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤侥锦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后德挣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恭垦,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了番挺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唠帝。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖玄柏,靈堂內(nèi)的尸體忽然破棺而出襟衰,到底是詐尸還是另有隱情,我是刑警寧澤粪摘,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布瀑晒,位于F島的核電站,受9級特大地震影響赶熟,放射性物質(zhì)發(fā)生泄漏瑰妄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一映砖、第九天 我趴在偏房一處隱蔽的房頂上張望间坐。 院中可真熱鬧,春花似錦邑退、人聲如沸竹宋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜈七。三九已至,卻和暖如春莫矗,著一層夾襖步出監(jiān)牢的瞬間飒硅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工作谚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留三娩,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓妹懒,卻偏偏與公主長得像雀监,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子眨唬,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 簡介HDFS(Hadoop Distributed File System )Hadoop分布式文件系統(tǒng)会前。是根據(jù)g...
    柏樹_Jeff閱讀 1,092評論 0 2
  • hadoop HDFS原理解析01 HDFS架構?NameNode?DataNode?Sencondary Nam...
    白菜青蘿卜閱讀 2,733評論 2 30
  • HDFS 工作原理 HDFS 架構 如上圖所示,HDFS也是按照Master和Slave的結(jié)構匾竿。分NameNode...
    heamon7閱讀 841評論 0 1
  • 孩子們在學習英語時笛坦,無論學到哪個階段区转,感覺最難的就是記單詞苔巨。最普遍的說法是:“老師,我背了就忘了”废离。背單詞有很多很...
    ABC輔導歐陽閱讀 2,246評論 0 0
  • 忽然覺得很疲倦侄泽,最近總想著是不是該休假,是不是放下身邊的事蜻韭,是不是該讓緊繃神經(jīng)松弛下悼尾,是不是該放棄什么了。 多少年...
    x123閱讀 185評論 0 0