
前言
說到分布式軟件,就一定繞不過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é)劃分有: