深入雲計算:Hadoop原始程式碼分析(修訂版)(簡體書)
商品簡介
本書主要對Hadoop最核心的部分:HDFS和MapReduce進行源碼解析和說明。適合所有想全面學習Hadoop開發技術的人員閱讀,也適用于使用Hadoop進行開發的工程技術人員,還可作為想深入了解Hadoop運行機制、源代碼的開發人員的參考書籍。
名人/編輯推薦
【本書特色】
1.內容全面、系統、深入:本書全面介紹了Hadoop各個組件的源代碼,包括HDFS、MapReduce以及RPC等部分。此外,每節都配有詳細的UML模型圖和流程圖,以便2.讀者對所講內容有更加清晰的認識。
講解細致,適合各個層次的讀者閱讀:本書從不同的層次結構依次講解Hadoop的源代碼,并深入到其結構內部,詳細講解每個部分。內容梯度從易到難,講解由淺3.入深,循序漸進,適合各個層次的讀者閱讀。
4.全面而詳細解析Hadoop源碼:本書將Hadoop關鍵核心的代碼一一展現給大家,做到淺顯易懂,使讀者能快速高效地對Hadoop有一個深入的理解。
5.提供技術支持,答疑解惑:讀者閱讀本書時若有任何疑問可到網站http://www.rzchina.net 中的Hadoop相關論壇提問,以獲得幫助。筆者會及時解答讀者的各種問題。書中源代碼下載地址:http://www.tdpress.com/zyzx/tsscflwj
目次
第1章 Hadoop的簡介和安裝
1.1 Hadoop的簡介
1.1.1 分布式文件系統HDFS
1.1.2 并行計算模型MapReduce
1.2 Hadoop的安裝
1.2.1 虛擬機以及Ubuntu的安裝
1.2.2 創建Hadoop用戶
1.2.3 JDK1.6的安裝
1.2.4 SSH的配置
1.2.5 單機模式下Hadoop的安裝
1.2.6 偽分布式模式下Hadoop的安裝
1.2.7 分布式模式下Hadoop的安裝
第2篇 HDFS分布式文件系統及IO模型
第2章 HDFS架構和分布式文件系統 第1篇 Hadoop概述與安裝
第1章 Hadoop的簡介和安裝
1.1 Hadoop的簡介
1.1.1 分布式文件系統HDFS
1.1.2 并行計算模型MapReduce
1.2 Hadoop的安裝
1.2.1 虛擬機以及Ubuntu的安裝
1.2.2 創建Hadoop用戶
1.2.3 JDK1.6的安裝
1.2.4 SSH的配置
1.2.5 單機模式下Hadoop的安裝
1.2.6 偽分布式模式下Hadoop的安裝
1.2.7 分布式模式下Hadoop的安裝
第2篇 HDFS分布式文件系統及IO模型
第2章 HDFS架構和分布式文件系統
2.1 分布式文件系統概述
2.2 HDFS的特點
2.3 HDFS文件系統架構
2.4 Hadoop的抽象文件系統模型
2.4.1 FileSystem抽象文件系統
2.4.2 FileStatus文件狀態信息
2.4.3 FsPermission文件或目錄的操作權限
2.4.4 FileSystem的實現類
2.4.5 FileSystem的輸入流
2.4.6 FileSystem的輸出流
2.5 小結
第3章 Hadoop分布式文件系統HDFS的具體實現
3.1 DistributedFileSystem分布式文件系統
3.2 DFSClient HDFS客戶端
3.3 小結
第4章 NameNode的實現
4.1 INode抽象類
4.2 INodeDirectory目錄
4.3 INodeFile文件
4.4 FSDirectory文件系統目錄
4.5 FSEditLog文件系統的編輯日志
4.6 FSImage文件系統鏡像
4.7 Host2NodesMap主機到DataNode的映射
4.8 NetworkTopology網絡拓撲結構
4.9 HostsFileReader主機文件讀取器
4.10 BlocksMap 數據塊到其元數據的映射
4.11 FSNamesystem HDFS文件系統的命名空間
4.12 NameNode名稱結點
4.13 小結
第5章 Datanode的實現
5.1 Block數據塊
5.2 DatanodeID類
5.3 DatanodeInfo類
5.4 BlockSender數據塊發送器
5.5 BlockReceiver數據塊接收器
5.6 DataBlockScanner數據塊掃描器
5.7 FSDataset Datanode數據集合
5.8 DataXceiverServer
5.9 DataXceiver
5.10 Datanode類
5.11 小結
第6章 Hadoop的IO
6.1 數據類型接口
6.1.1 Writable接口
6.1.2 Comparable接口
6.1.3 WritableComparable接口
6.1.4 RawComparator比較器接口
6.1.5 WritableComparator接口
6.2 基本數據類型
6.2.1 IntWritable整型類型
6.2.2 Text文本類型
6.2.3 NullWritable類
6.2.4 ObjectWritable類
6.3 文件類型
6.3.1 SequenceFile序列文件
6.3.2 MapFile映射文件
6.4 小結
第3篇 MapReduce計算框架及RPC通信模型
第7章 MapReduce的輸入和輸出
7.1 輸入格式InputFormat
7.1.1 InputFormat抽象類
7.1.2 FileInputFormat文件輸入格式
7.1.3 TextInputFormat文本文件輸入格式
7.1.4 KeyValueTextInputFormat鍵值對文件輸入格式
7.1.5 CombineFileInputFormat組合文件輸入格式
7.1.6 SequenceFileInputFormat序列文件輸入格式
7.1.7 DBInputFormat數據庫輸入格式
7.1.8 MultipleInputs多種輸入格式
7.1.9 DelegatingInputFormat授權輸入格式
7.2 輸入分片InputSplit
7.2.1 FileSplit文件輸入分片
7.2.2 CombineFileSplit多文件輸入分片
7.2.3 DBInputSplit數據庫輸入分片
7.3 記錄讀取器RecordReader
7.3.1 LineRecordReader行記錄讀取器
7.3.2 KeyValueLineRecordReader鍵值對記錄讀取器
7.3.3 CombineFileRecordReader組合文件記錄讀取器
7.3.4 SequenceFileRecordReader序列文件記錄讀取器
7.3.5 SequenceFileAsTextRecordReader和SequenceFileAsBinaryRecordReader
7.3.6 DBRecordReader數據庫記錄讀取器
7.4 輸出格式OutputFormat
7.4.1 OutputFormat抽象類
7.4.2 FileOutputFormat文件輸出格式
7.4.3 TextOutputFormat文本格式的文件輸出格式
7.4.4 SequenceFileOutputFormat普通序列文件輸出格式
7.4.5 SequenceFileAsBinaryOutputFormat二進制序列文件輸出格式
7.4.6 FilterOutputFormat過濾器輸出格式
7.4.7 DBOutputFormat數據庫輸出格式
7.4.8 MultipleOutputs多種輸出格式
7.5 記錄寫入器RecordWriter
7.5.1 DBRecordWriter數據庫記錄寫入器
7.5.2 FilterRecordWriter過濾器記錄寫入器
7.5.3 LineRecordWriter 文本行記錄寫入器
7.6 輸出提交器OutputCommitter
7.6.1 OutputCommitter輸出提交器
7.6.2 FileOutputCommitter文件輸出提交器
7.7 小結
第8章 Hadoop中的Context和ID
8.1 Hadoop運行過程中的Context上下文
8.1.1 JobContext作業上下文
8.1.2 Job作業
8.1.3 TaskAttemptContext任務嘗試上下文
8.1.4 TaskInputOutputContext任務輸入輸出上下文
8.1.5 MapContext Mapper執行的上下文
8.1.6 ReduceContext Reducer執行的上下文
8.2 Hadoop運行過程中的ID類
8.2.1 ID類
8.2.2 JobID作業ID
8.2.3 TaskID任務ID
8.2.4 TaskAttemptID任務嘗試ID
8.3 小結
第9章 Hadoop的計算模型MapReduce
9.1 Map處理過程
9.1.1 Mapper概述
9.1.2 Mapper源代碼分析
9.1.3 InverseMapper反轉Mapper
9.1.4 TokenCounterMapper標記計數Mapper
9.1.5 MultithreadedMapper多線程Mapper
9.1.6 FieldSelectionMapper字段選擇Mapper
9.1.7 DelegatingMapper授權Mapper
9.2 Reducer處理過程
9.2.1 Reducer概述
9.2.2 Reducer源代碼
9.2.3 IntSumReducer和LongSumReducer
9.2.4 FieldSelectionReducer字段選擇Reducer
9.3 Partitioner分區處理過程
9.3.1 Partitioner概述
9.3.2 Partitioner源代碼
9.3.3 HashPartitioner hash分區
9.3.4 BinaryPartitioner二進制分區
9.3.5 KeyFieldBasedPartitioner基于鍵字段的分區
9.3.6 TotalOrderPartitioner全排序分區
9.4 小結
第10章 JobClient的執行過程分析
10.1 MapReduce作業處理過程概述
10.1.1 JobConf MapReduce作業的配置信息
10.1.2 JobSubmissionProtocol作業提交的接口
10.1.3 RunningJob正在運行的Job作業的接口
10.1.4 JobStatus和JobProfile作業狀態信息和注冊信息
10.1.5 JobSubmissionFiles 獲得作業提交的文件
10.2 JobClient提交作業流程
10.3 JobClient 提交Job的客戶端
10.4 小結
第11章 JobTracker的執行過程分析
11.1 JobTracker處理過程概述
11.2 JobInfo作業信息
11.3 Counters計數器
11.4 Queue Job隊列對象
11.5 QueueManager Job隊列管理對象
11.6 JobInProgress正在處理的作業
11.7 JobTracker對JobClient提交的作業的處理
11.8 JobTracker的啟動以及Job的初始化
11.9 JobTracker的其他源代碼分析
11.10 JobTracker中的作業恢復管理器RecoveryManager
11.11 JobInProgressListener和JobQueueJobInProgressListener
11.12 小結
第12章 Hadoop的作業調度器
12.1 Hadoop作業調度器概述
12.2 TaskScheduler調度器的抽象父類
12.3 JobQueueTaskScheduler FIFO調度器
12.4 LimitTasksPerJobTaskScheduler任務數限制FIFO調度器
12.5 CapacityTaskScheduler計算能力調度器
12.6 FairScheduler公平調度器
12.7 小結
第13章 TaskTracker的執行過程
13.1 TaskTracker的啟動
13.2 TaskTracker與JobTracker進行通信的組件InterTrackerProtocol
13.3 JobTracker返回給TaskTracker的Action的類型
13.4 TaskTracker向JobTracker發送心跳的過程
13.5 TaskTracker的任務處理過程
13.6 TaskTracker的其他源代碼分析
13.7 TaskStatus任務的狀態信息
13.8 TaskInProgress正在處理的任務
13.9 Task所有任務的父類
13.10 MapTask執行過程概述
13.11 MapOutputBuffer Map輸出緩沖區
13.12 ReduceTask執行過程概述
13.13 ReduceCopier Reduce的Copy和Merge執行工具
13.14 小結
第14章 Hadoop的RPC協議
14.1 Hadoop RPC概念概述
14.2 RPC協議接口
14.2.1 ClientDatanodeProtocol客戶端與DataNode進行通信的協議
14.2.2 ClientProtocol客戶端和NameNode進行通信的協議
14.2.3 DatanodeProtocol DataNode與NameNode進行通信的協議
14.2.4 InterDatanodeProtocol DataNode之間進行通信的協議
14.2.5 NamenodeProtocol SecondaryNameNode與NameNode進行通信的協議
14.2.6 InterTrackerProtocol TaskTracker與JobTracker進行通信的協議
14.2.7 JobSubmissionProtocol JobClient與JobTracker進行通信的協議
14.2.8 TaskUmbilicalProtocol Child進程與TaskTracker父進程進行通信的協議
14.3 RPC的客戶端和服務器端的實現
14.3.1 Client客戶端
14.3.2 Server服務端
14.4 小結
書摘/試閱
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。