編輯推薦
這本書並不是為所有想要對大數據有所瞭解的人而寫的。但是,如果你有點野心,想對大數據處理係統有比較深入、透徹的瞭解,特彆是想有朝一日自己也設計一個這樣的係統,甚至自己把它寫齣來,那麼你真應該認真讀一下這本書,看看人傢Hadoop是怎麼設計怎麼實現的。 然後,在最後一章,你可以再看看Spark又是什麼樣的,有些什麼改進。你將看到,在一個計算機集群上構築一個大數據處理係統,哪些成分是必不可少的,哪些方麵又是可以改進的,它與操作係統的關係怎樣,而作為大規模計算機集群的“操作係統”又可以並應該是什麼樣的。
內容簡介
Hadoop是目前重要的一種開源的大數據處理平颱,讀懂Hadoop的源代碼,深入理解其各種機理,對於掌握大數據處理的技術有著顯而易見的重要性。 本書從大數據處理的原理開始,講到Hadoop的由來,進而講述對於代碼的研究方法,然後以Hadoop作為樣本,較為詳盡地逐一分析大數據處理平颱各核心組成部分的代碼,並從宏觀上講述這些部分的聯係和作用。 本書沿用作者獨特而廣受歡迎的情景分析方法和風格,深入淺齣直白易懂,可以作為大數據係統高級課程的教材,也可用作計算機軟件專業和其他相關專業大學本科高年級學生和研究生深入學習大數據係統的參考書。同時,還可以作為各行業從事軟件開發和數據挖掘的工程師、研究人員以及其他對大數據處理技術感興趣者的自學教材。
作者簡介
毛德操,著名計算機專傢,浙江大學教授,浙大網新科技首席科學傢,連連支付大數據與區塊鏈特彆顧問。曾留學美國Umas大學,獲得計算機碩士學位。著有重磅著作《LINUX核心源代碼情景分析》和《Windows內核情景分析:采用開源代碼ReactOS(上、下冊)》,影響瞭整整一代大學生和工程師。
目錄
第1章 大數據與Hadoop
1.1 什麼是大數據
1.2 大數據的用途
1.3 並行計算
1.4 數據流
1.5 函數式程序設計與Lambda演算
1.6 MapReduce
1.7 大數據處理平颱
1.8 Hadoop的由來和發展
1.9 Hadoop的MapReduce計算框架
1.10 Hadoop的分布式容錯文件係統HDFS
第2章 研究方法
2.1 摘要卡片
2.2 情景分析
2.3 麵嚮對象的程序設計
2.4 怎樣閱讀分析Hadoop的代碼
第3章 Hadoop集群和YARN
3.1 Hadoop集群
3.2 Hadoop係統的結構
3.3 Hadoop的YARN框架
3.4 狀態機
3.5 資源管理器ResourceManager
3.6 資源調度器ResourceScheduler
第4章 Hadoop的RPC機製
4.1 RPC與RMI
4.2 ProtoBuf
4.3 Java的Reflection機製
4.4 RM節點上的RPC服務
4.5 RPC客戶端的創建
第5章 Hadoop作業的提交
5.1 從“地方”到“中央”
5.2 示例一:采用老API的ValueAggregatorJob
5.3 示例二:采用新API的WordCount
5.4 示例三:采用ToolRunner的QuasiMonteCarlo
5.5 從Job.submit()開始的第二段流程
5.6 YARNRunner和ResourceMgrDelegate
第6章 作業的調度與指派
6.1 作業的受理
6.2 NM節點的心跳和容器周轉
6.3 容器的分配
第7章 NodeManager與任務投運
7.1 AMLauncher與任務投運
7.2 MRAppMaster或AM的創建
7.3 資源本地化
7.4 容器的投運
第8章 MRAppMaster與作業投運
8.1 MRAppMaster
8.2 App資源與容器
8.3 容器的跨節點投送和啓動
8.4 目標節點上的容器投運
8.5 Uber模式下的本地容器分配與投運
8.6 任務的啓動
8.7 MapTask的運行
8.8 ReduceTask的投運
第9章 YARN子係統的計算框架
9.1 MapReduce框架
9.2 Streaming框架
9.3 Chain框架
9.4 Client與ApplicationMaster
第10章 MapReduce框架中的數據流
10.1 數據流和工作流
10.2 Mapper的輸入
10.3 Mapper的輸齣緩衝區MapOutputBuffer
10.4 作為Collector的MapOutputBuffer
10.5 環形緩衝區kvbuffer
10.6 對MapoutputBuffer的輸齣
10.7 Sort和Spill
10.8 Map計算的終結與Spill文件的閤並
10.9 Reduce階段
10.10 Merge
10.11 Reduce階段的輸入和輸齣
第11章 Hadoop的文件係統HDFS
11.1 文件的分布與容錯
11.2 目錄節點NameNode
11.3 FSNamesystem
11.4 文件係統目錄FSDirectory
11.5 文件係統映像FsImage
11.6 文件係統更改記錄FSEditLog
11.7 FSEditLog與Journal
11.8 EditLog記錄的重演
11.9 版本升級與故障恢復
第12章 HDFS的DataNode
12.1 DataNode
12.2 數據塊的存儲
12.3 RamDisk復份的持久化存儲
12.4 目錄掃描綫程DirectoryScanner
12.5 數據塊掃描綫程DataBlockScanner
第13章 DataNode與NameNode的互動
13.1 DataNode與NameNode的互動
13.2 心跳HeartBeat
13.3 BlockReport
第14章 DataNode間的互動
14.1 數據塊的接收和存儲
14.2 命令DNA_TRANSFER的執行
第15章 HDFS的文件訪問
15.1 DistributedFileSystem和DFSClient
15.2 FsShell
15.3 HDFS的打開文件流程
15.4 HDFS的讀文件流程
15.5 HDFS的創建文件流程
15.6 文件租約
15.7 HDFS的寫文件流程
15.8 實例
第16章 Hadoop的容錯機製
16.1 容錯與高可用
16.2 HDFS的HA機製
16.3 NameNode的倒換
16.4 Zookeeper與自動倒換
16.5 YARN的HA機製
第17章 Hadoop的安全機製
17.1 大數據集群的安全問題
17.2 UGI、Token和ACL
17.3 UGI的來源和流轉
17.4 Token的使用
第18章 Hadoop的人機界麵
18.1 Hadoop的命令行界麵
18.2 Hadoop的Web界麵
18.3 Dependency Inject和Annotation
18.4 對網頁的訪問
第19章 Hadoop的部署和啓動
19.1 Hadoop的運維腳本
19.2 Hadoop的部署與啓動
19.3 Hadoop的日常使用
19.4 Hadoop平颱的關閉
第20章 Spark的優化與改進
20.1 Spark與Hadoop
20.2 RDD與Stage——概念與思路
20.3 RDD的存儲和引用
20.4 DStream
20.5 拓撲的靈活性和多樣性
20.6 性能的提升
20.7 使用的方便性
20.8 幾個重要的類及其作用
參考資料
大數據處理係統:Hadoop源代碼情景分析 下載 mobi epub pdf txt 電子書