前言
說到分布式軟件蟀瞧,就一定繞不過Hadoop
窄陡。
Hadoop
是 Google 著名的 MapReduce
和 GFS
論文的開源實(shí)現(xiàn)垂睬,它為我們提供了一個(gè)分布式的數(shù)據(jù)存儲(chǔ)和計(jì)算框架鹏秋,能夠讓我們?cè)诘统杀镜腜C設(shè)備上搭建一個(gè)大規(guī)模的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)。
由于Hadoop
的出現(xiàn)直接降低了大數(shù)據(jù)的存儲(chǔ)和計(jì)算成本川慌,可以說Hadoop
以及他的整個(gè)生態(tài)環(huán)境拉開了大數(shù)據(jù)時(shí)代的大幕吃嘿。
Hadoop
主要由 Hdfs
, MapReduce
和 Yarn
三個(gè)大模塊組成,我會(huì)基于 Hadoop 3.0.0 alpha2
的源碼梦重,分別解析一下這三個(gè)模塊的代碼邏輯兑燥。
具體章節(jié)劃分如下,先從Hdfs
開始琴拧,每周更新一兩篇源碼走讀筆記降瞳。
Hdfs
Hdfs(Hadoop Distributed File System)是Hadoop框架中的分布式存儲(chǔ)系統(tǒng),
主要關(guān)注點(diǎn):
- Hdfs內(nèi)部通信機(jī)制
- Hdfs的DFS實(shí)現(xiàn)機(jī)制
- Hdfs的數(shù)據(jù)冗余備份
- Hdfs的secondarynamenode和HA解析
主要章節(jié)劃分有:
MapReduce
Hadoop中的MapReduce框架負(fù)責(zé)在分布式系統(tǒng)中進(jìn)行數(shù)據(jù)計(jì)算挣饥,通過將jar文件傳輸?shù)礁鱾€(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行分布式計(jì)算的形式,減少不必要的數(shù)據(jù)傳輸沛膳。
主要關(guān)注點(diǎn):
- 提交MapReduce任務(wù)的解析過程
- Map扔枫、Shuffle、Reduce三個(gè)步驟之間的臨時(shí)數(shù)據(jù)存儲(chǔ)邏輯
- Shuffle步驟觸發(fā)策略
時(shí)間待定锹安,章節(jié)待定
Yarn
Yarn(Yet Another Resource Manager)是Hadoop框架中的資源管理者短荐。
主要關(guān)注點(diǎn):
- Yarn 對(duì)計(jì)算節(jié)點(diǎn)的抽象邏輯
- Yarn 的任務(wù)調(diào)度策略
- Yarn 對(duì)Map Reduce任務(wù)的切割分發(fā)
主要章節(jié)劃分有: