大數(shù)據(jù)day05 Hadoop

?

Hadoop

?

Hadoop是分布式的系統(tǒng)架構


1.Hadoop組成:

Hadoop = hdfs(存儲) + mapreduce(計算) +

yarn(資源管理) + common(工具包)

1-1掖蛤、分布式存儲系統(tǒng)HDFS Hadoop Distributed File System

?分布式存儲系統(tǒng)

?提供了 高可靠性、高擴展性和高吞吐率的數(shù)據(jù)存儲服務

1-2井厌、分布式計算框架MapReduce

?分布式計算框架(計算向數(shù)據(jù)移動)

具有 易于編程蚓庭、高容錯性和高擴展性等優(yōu)點致讥。

1-3、分布式資源管理框架YARNYet Another Resource Management

負責集群資源的管理和調(diào)度

2.分布式文件存儲系統(tǒng)HDFS

2-1彪置、HDFS是什么拄踪?

HDFS是Hadoop分布式文件存儲系統(tǒng)

分布式存儲系統(tǒng)HDFS (Hadoop Distributed File System)

主要解決大數(shù)據(jù)的存儲問題蝇恶。

HDFS的功能模塊及原理詳解

2-2-1拳魁、HDFS 數(shù)據(jù)存儲單元(block)

--文件被切分成固定大小的數(shù)據(jù)塊block

默認數(shù)據(jù)塊大小為128MB (hadoop2.x),可自定義配置

若文件大小不到128MB 撮弧,則單獨存成一個block

一個文件存儲方式

按大小被切分成若干個block 潘懊,存儲到不同節(jié)點上

默認情況下每個block都有3個副本

Block大小和副本數(shù)通過Client端上傳文件時設置,文件上傳成功后副本數(shù)可以變更贿衍,Block Size不可變更



hdfs存儲模型:字節(jié)

文件線性切割成塊(Block):偏移量 offset (byte)

Block分散存儲在集群節(jié)點中

單一文件Block大小一致授舟,文件與文件可以不一致

Block可以設置副本數(shù),副本分散在不同節(jié)點中

副本數(shù)不要超過節(jié)點數(shù)量

文件上傳可以設置Block大小和副本數(shù)

已上傳的文件Block副本數(shù)可以調(diào)整贸辈,大小不變

只支持一次寫入多次讀取释树,同一時刻只有一個寫入者

可以append追加數(shù)據(jù)

2-2-2、NameNode(簡稱NN)

2-2-2-1擎淤、NameNode主要功能:

接受客戶端的讀/寫服務

收集DataNode匯報的Block列表信息


2-2-2-2奢啥、基于內(nèi)存存儲:不會和磁盤發(fā)生交換

只存在內(nèi)存中

持久化


2-2-2-3、NameNode保存metadata信息:

文件owership(歸屬)和permissions(權限)

文件大小嘴拢,時間

(Block列表:Block偏移量)桩盲,位置信息

Block保存在哪個DataNode信息(由DataNode啟動時上報,不保存在磁盤)

2-2-2-4、NameNode持久化

NameNode的metadate信息在啟動后會加載到內(nèi)存

metadata存儲到磁盤文件名為”fsimage”

Block的位置信息不會保存到fsimage

edits記錄對metadata的操作日志


–? fsimage保存了最新的元數(shù)據(jù)檢查點,類似快照席吴。

-? editslog保存自最新檢查點后的元信息變化赌结,從最新檢查點后,hadoop將對每個文件的操作都保存在edits中孝冒〖硪Γ客戶端修改文件時候,先寫到editlog庄涡,成功后才更新內(nèi)存中的metadata信息伤靠。

Metadata = fsimage + editslog


2-2-4、DataNode(DN)

本地磁盤目錄存儲數(shù)據(jù)(Block)啼染,文件形式

同時存儲Block的元數(shù)據(jù)(md5值)信息文件

啟動DN進程的時候會向NameNode匯報block信息

通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次)宴合,如果NN 10分鐘沒有收到DN的心跳,則認為其已經(jīng)lost迹鹅,并copy其上的block到其它DN


2-2-5卦洽、SecondaryNameNode(SNN)

–? 它的主要工作是幫助NN合并edits log文件,減少NN啟動時間,它不是NN的備份(但可以做備份)斜棚。

–? SNN執(zhí)行合并時間和機制

?A阀蒂、根據(jù)配置文件設置的時間間隔fs.checkpoint.period默認3600秒该窗。

?B、根據(jù)配置文件設置edits log大小 fs.checkpoint.size 規(guī)定edits文件的最大值默認是64MB


2-2-6蚤霞、SecondaryNameNode SNN合并流程


?? 首先是NN中的Fsimage和edits文件通過網(wǎng)絡拷貝酗失,到達SNN服務器中,拷貝的同時昧绣,用戶的實時在操作數(shù)據(jù)规肴,那么NN中就會從新生成一個edits來記錄用戶的操作,而另一邊的SNN將拷貝過來的edits和fsimage進行合并夜畴,合并之后就替換NN中的fsimage拖刃。之后NN根據(jù)fsimage進行操作(當然每隔一段時間就進行替換合并,循環(huán))贪绘。當然新的edits與合并之后傳輸過來的fsimage會在下一次時間內(nèi)又進行合并兑牡。




2-2-6、Block的副本放置策略

–? 第一個副本:放置在上傳文件的DN税灌;如果是集群外提交均函,則隨機挑選一臺磁盤不太滿,CPU不太忙的節(jié)點菱涤。

–? 第二個副本:放置在于第一個副本不同的機架的節(jié)點上苞也。

–? 第三個副本:與第二個副本相同機架的不同節(jié)點。

–? 更多副本:隨機節(jié)點

集群內(nèi)提交:

[if !vml]

[endif]

2-2-7狸窘、HDFS讀寫流程

2-2-7-1墩朦、寫文件流程


HDFS寫流程

Client:

切分文件Block

按Block線性和NN獲取DN列表(副本數(shù))

驗證DN列表后以更小的單位(packet)流式傳輸數(shù)據(jù)

各節(jié)點,兩兩通信確定可用

Block傳輸結束后:

DN向NN匯報Block信息

DN向Client匯報完成

Client向NN匯報完成

獲取下一個Block存放的DN列表

……………..

最終Client匯報完成

NN會在寫流程更新文件狀態(tài)


2-2-7-2翻擒、讀文件過程


HDFS讀流程

Client:

和NN獲取一部分Block副本位置列表

線性和DN獲取Block氓涣,最終合并為一個文件

在Block副本列表中按距離擇優(yōu)選取




2-2-8、HDFS文件權限?

與Linux文件權限類似

r: read; w:write; x:execute

權限x對于文件忽略陋气,對于文件夾表示是否允許訪問其內(nèi)容

如果Linux系統(tǒng)用戶zhangsan使用hadoop命令創(chuàng)建一個文件劳吠,那么這個文件在HDFS中owner就是zhangsan。

HDFS的權限目的:阻止好人錯錯事巩趁,而不是阻止壞人做壞事痒玩。HDFS相信,你告訴我你是誰议慰,我就認為你是誰蠢古。



2-2-9、安全模式

namenode啟動的時候别凹,首先將映像文件(fsimage)載入內(nèi)存草讶,并執(zhí)行編輯日志(edits)中的各項操作。

一旦在內(nèi)存中成功建立文件系統(tǒng)元數(shù)據(jù)的映射炉菲,則創(chuàng)建一個新的fsimage文件(這個操作不需要SecondaryNameNode)和一個空的編輯日志堕战。

此刻namenode運行在安全模式坤溃。即namenode的文件系統(tǒng)對于客服端來說是只讀的。(顯示目錄嘱丢,顯示文件內(nèi)容等薪介。寫、刪除越驻、重命名都會失敗)汁政。

在此階段Namenode收集各個datanode的報告,當數(shù)據(jù)塊達到最小副本數(shù)以上時伐谈,會被認為是“安全”的烂完, 在一定比例(可設置)的數(shù)據(jù)塊被確定為“安全”后试疙,再過若干時間诵棵,安全模式結束

當檢測到副本數(shù)不足的數(shù)據(jù)塊時,該塊會被復制直到達到最小副本數(shù)祝旷,系統(tǒng)中數(shù)據(jù)塊的位置并不是由namenode維護的履澳,而是以塊列表形式存儲在datanode中。




2-3怀跛、HDFS的優(yōu)缺點

2-3-1優(yōu)點:

高容錯性

數(shù)據(jù)自動保存多個副本

副本丟失后距贷,自動恢復

適合批處理

移動計算而非數(shù)據(jù)

數(shù)據(jù)位置暴露給計算框架(Block偏移量)

適合大數(shù)據(jù)處理

GB 、TB 吻谋、甚至PB 級數(shù)據(jù)

百萬規(guī)模以上的文件數(shù)量

10K+ 節(jié)點

[if !supportLists]– [endif]可構建在廉價機器上

通過多副本提高可靠性

提供了容錯和恢復機制


2-3-2缺點:

[if !supportLists]-??[endif]低延遲高數(shù)據(jù)吞吐訪問問題

?比如支持秒級別反應忠蝗,不支持毫秒級

?延遲與高吞吐率問題(吞吐量大但有限制于其延遲)

小文件存取

占用NameNode 大量內(nèi)存

尋道時間超過讀取時間


[if !supportLists]-??[endif]并發(fā)寫入、文件隨機修改

一個文件只能有一個寫者

僅支持append

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末漓拾,一起剝皮案震驚了整個濱河市阁最,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骇两,老刑警劉巖速种,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異低千,居然都是意外死亡配阵,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門示血,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棋傍,“玉大人,你說我怎么就攤上這事难审√奔穑” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵剔宪,是天一觀的道長拂铡。 經(jīng)常有香客問我壹无,道長,這世上最難降的妖魔是什么感帅? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任斗锭,我火速辦了婚禮,結果婚禮上失球,老公的妹妹穿的比我還像新娘岖是。我一直安慰自己,他們只是感情好实苞,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布豺撑。 她就那樣靜靜地躺著,像睡著了一般黔牵。 火紅的嫁衣襯著肌膚如雪聪轿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天猾浦,我揣著相機與錄音陆错,去河邊找鬼。 笑死金赦,一個胖子當著我的面吹牛音瓷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播夹抗,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼绳慎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了漠烧?” 一聲冷哼從身側響起杏愤,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沽甥,沒想到半個月后声邦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡摆舟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年亥曹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恨诱。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡媳瞪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出照宝,到底是詐尸還是另有隱情蛇受,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布厕鹃,位于F島的核電站兢仰,受9級特大地震影響乍丈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜把将,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一轻专、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧察蹲,春花似錦请垛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至亚兄,卻和暖如春混稽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背儿捧。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工荚坞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留挑宠,地道東北人菲盾。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像各淀,于是被迫代替她去往敵國和親懒鉴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

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