Hadoop 3 實戰指南
內容描述
本書主要分析Hadoop 3.2.0的新特性和新功能,共5章。首先簡單介紹Hadoop,讓剛接觸Hadoop的讀者對它有個基本瞭解; 接著介紹目前使用比較多的分佈式文件系統HDFS,內容涉及NameNode 的原理、HA、HDFS Federation和HDFS 3.0中新增的特性;然後從應用管理和資源調度這兩個方面介紹一個通用的資源管理平臺YARN;再後討論如何在YARN平臺中運行應用,比如如何將應用遷移到YARN平臺,以及非Hadoop的應用是如何兼容YARN模式的。最後,書中給出了一些工作實戰指南,包括如何搭建一個生產可用的Hadoop 3.0集群;如何將現有Hadoop 2.0集群升級到Hadoop 3.0,及其在升級過程中遇到的問題;如何針對Hadoop進行二次開發,並參與社區,向社區貢獻代碼;一個大數據平臺應具備哪些必備組件等。
目錄大綱
目錄
第1章Hadoop 1
1.1簡介1
1.1.1 Hadoop 1.0 1
1.1.2 Hadoop 2.0 3
1.2 Hadoop 3.0 4
1.3閱讀Hadoop源碼6
1.3. 1單元測試8
1.3.2斷點調試代碼11
1.4小結13
第2章HDFS 14
2.1 HDFS簡介14
2.2解析NameNode中的元數據及其內存結構15
2.2.1解析NameNode中的元數據16
2.2.2解析NameNode的內存結構19
2.3解析NameNode的HA功能23
2.3.1基於QJM的HA 23
2.3.2故障轉移26
2.3.3多NameNode模式28
2.4 HDFS的Federation 29
2.4.1基於viewfs的Federation 30
2.4.2基於Router的Federation 31
2.5糾刪碼32
2.5.1糾刪碼的原理33
2. 5.2 HDFS EC 35
2.5.3 HDFS EC的實現38
2.5.4對比HDFS EC策略與三副本策略49
2.6下一代對象存儲系統Ozone 50
2.6.1 Ozone初體驗50
2.6.2 Ozone架構53
2.7小結55
第3章YARN 56
3.1 YARN簡介56
3.2解析ResourceManager的HA功能60
3.2.1故障轉移61
3.2.2數據恢復63
3.3 YARN Federation 65
3.3.1架構65
3.3.2 Router 66
3.3.3 State Store和Policy Store 69
3 .3.4 AMRMProxy 69
3.3.5跨子集群運行74
3.4中央調度器75
3.4.1 Capacity調度器76
3.4.2 Fair調度器78
3.4.3調度擴展90
3 .5分佈式調度器96
3.5.1分佈式調度器的架構97
3.5.2 opportunistic container 98
3.6 YARN Shared Cache 99
3.6.1資源本地化100
3.6.2 Shared Cache的架構101
3.6.3 Shared Cache實例102
3.7小結104
第4章Application on YARN 105
4.1 MapReduce的簡介105
4.2 MapReduce的源碼分析106
4.2.1 InputSplit 107
4.2.2環形緩衝區109
4.2.3溢寫和歸併112
4. 2.4 Shuffle 113
4.3 MapReduce on YARN 119
4.3.1 YARN的事件機制和狀態機機制119
4.3.2 MR ApplicationMaster 123
4.4 Application on YARN 124
4.5小結129
第5章實戰指南130
5.1 Hadoop 3.x的部署130
5.1.1 Hadoop 3.x HA的部署130
5.1.2 Hadoop 3.x Federation的部署145
5.2 Hadoop升級149
5.2.1 Hadoop 2.0升級為Hadoop 3.0 151
5.2.2 Hadoop 3.0降級為Hadoop 2.0 155
5.2.3升級/降級中遇到的問題155
5.3二次開發160
5.3.1與其他自研系統融合160
5.3.2自身功能擴展之自動識別修復後的數據盤163
5.3.3合併社區Patch 166
5.3.4提交Pull Request 167
5.4周邊系統平台169
5.4.1任務調度平台169
5.4.2監控平台170
5.4.3集群診斷分析平台174
5.5小結176
作者介紹
孫志偉
金山雲數據平台架構師,專注於Hadoop生態和數據平台建設,曾就職於網易、轉轉等互聯網公司。
對大數據處理、分佈式計算與數據採集有著濃厚的興趣。
一直從事Hadoop研發與運維工作,努力鑽研技術並堅持分享。
有著豐富的一線研發與運維經驗,是多個社區的Contributor,積極活躍於開源社區。
碩士,畢業於華北電力大學。