hadoop技術內幕電子版共分為三個部分:第一部分(第1章)主要介紹了Hadoop源代碼的獲取和源代碼閱讀環境的搭建;第二部分(第2~5章)對Hadoop公共工具Common的架構設計和實現原理進行了深入分析,包含Hadoop的配置信息處理、面向海量數據處理的序列化和壓縮機制、Hadoop的遠程過程調用,以及滿足Hadoop上各類應用訪問數據的Hadoop抽象文件系統和部分具體文件系統等內容;第三部分(第6~9章)對Hadoop的分布式文件系統HDFS的架構設計和實現原理進行了詳細的分析,這部分內容采用了總分總的結構,第6章對HDFS的各個實體和實體間接口進行了分析;第7章和第8章分別詳細地研究了數據節點和名字節點的實現原理,并通過第9章對客戶端的解析,回顧了HDFS各節點間的配合,完整地介紹了一個大規模數據存儲系統的實現。
hadoop技術內幕電子版目錄
第一部分 環境準備
第1章 源代碼環境準備
1.1 什么是Hadoop
1.1.1 Hadoop簡史
1.1.2 Hadoop的優勢
1.1.3 Hadoop生態系統
1.2 準備源代碼閱讀環境
1.2.1 安裝與配置JDK
1.2.2 安裝Eclipse
1.2.3 安裝輔助工具Ant
1.2.4 安裝類UNIX Shell環境Cygwin
1.3 準備Hadoop源代碼
1.3.1 下載Hadoop
1.3.2 創建Eclipse項目
1.3.3 Hadoop源代碼組織
1.4 小結
第二部分 Common的實現
第2章 Hadoop配置信息處理
2.1 配置文件簡介
2.1.1 Windows操作系統的配置文件
2.1.2 Java配置文件
2.2 Hadoop Configuration詳解
2.2.1 Hadoop配置文件的格式
2.2.2 Configuration的成員變量
2.2.3 資源加載
2.2.4 使用get*和set*訪問設置配置項
2.3 Configurable接口
2.4 小結
第3章 序列化與壓縮
3.1 序列化
3.1.1 Java內建序列化機制
3.1.2 Hadoop序列化機制
3.1.3 Hadoop序列化機制的特征
3.1.4 Hadoop Writable機制
3.1.5 典型的Writable類詳解
3.1.6 Hadoop序列化框架
3.2 壓縮
3.2.1 Hadoop壓縮簡介
3.2.2 Hadoop壓縮API應用實例
3.2.3 Hadoop壓縮框架
3.2.4 Java本地方法
3.2.5 支持Snappy壓縮
3.3 小結
第4章 Hadoop遠程過程調用
4.1 遠程過程調用基礎知識
4.1.1 RPC原理
4.1.2 RPC機制的實現
4.1.3 Java遠程方法調用
4.2 Java動態代理
4.2.1 創建代理接口
4.2.2 調用轉發
4.2.3 動態代理實例
4.3 Java NIO
4.3.1 Java基本套接字
4.3.2 Java NIO基礎
4.3.3 Java NIO實例:回顯服務器
4.4 Hadoop中的遠程過程調用
4.4.1 利用Hadoop IPC構建簡單的分布式系統
4.4.2 Hadoop IPC的代碼結構
4.5 Hadoop IPC連接相關過程
4.5.1 IPC連接成員變量
4.5.2 建立IPC連接
4.5.3 數據分幀和讀寫
4.5.4 維護IPC連接
4.5.5 關閉IPC連接
4.6 Hadoop IPC方法調用相關過程
4.6.1 Java接口與接口體
4.6.2 IPC方法調用成員變量
4.6.3 客戶端方法調用過程
4.6.4 服務器端方法調用過程
4.7 Hadoop IPC上的其他輔助過程
4.7.1 RPC.getProxy()和RPC.stopProxy()
4.7.2 RPC.getServer()和Server的啟停
4.8 小結
第5章 Hadoop文件系統
5.1 文件系統
5.1.1 文件系統的用戶界面
5.1.2 文件系統的實現
5.1.3 文件系統的保護控制
5.2 Linux文件系統
5.2.1 Linux本地文件系統
5.2.2 虛擬文件系統
5.2.3 Linux文件保護機制
5.2.4 Linux文件系統API
5.3 分布式文件系統
5.3.1 分布式文件系統的特性
5.3.2 基本NFS體系結構
5.3.3 NFS支持的文件操作
5.4 Java文件系統
5.4.1 Java文件系統API
5.4.2 URI和URL
5.4.3 Java輸入輸出流
5.4.4 隨機存取文件
5.5 Hadoop抽象文件系統
5.5.1 Hadoop文件系統API
5.5.2 Hadoop輸入輸出流
5.5.3 Hadoop文件系統中的權限
5.5.4 抽象文件系統中的靜態方法
5.5.5 Hadoop文件系統中的協議處理器
5.6 Hadoop具體文件系統
5.6.1 FileSystem層次結構
5.6.2 RawLocalFileSystem的實現
5.6.3 ChecksumFileSystem的實現
5.6.4 RawInMemoryFileSystem的實現
5.7 小結
第三部分 Hadoop分布式文件系統
第6章 HDFS概述
6.1 初識HDFS
6.1.1 HDFS主要特性
6.1.2 HDFS體系結構
6.1.3 HDFS源代碼結構
6.2 基于遠程過程調用的接口
6.2.1 與客戶端相關的接口
6.2.2 HDFS各服務器間的接口
6.3 非遠程過程調用接口
6.3.1 數據節點上的非IPC接口
6.3.2 名字節點和第二名字節點上的非IPC接口
6.4 HDFS主要流程
6.4.1 客戶端到名字節點的文件與目錄操作
6.4.2 客戶端讀文件
6.4.3 客戶端寫文件
6.4.4 數據節點的啟動和心跳
6.4.5 第二名字節點合并元數據
6.5 小結
第7章 數據節點實現
7.1 數據塊存儲
7.1.1 數據節點的磁盤目錄文件結構
7.1.2 數據節點存儲的實現
7.1.3 數據節點升級
7.1.4 文件系統數據集的工作機制
7.2 流式接口的實現
7.2.1 DataXceiverServer和DataXceiver
7.2.2 讀數據
7.2.3 寫數據
7.2.4 數據塊替換、數據塊拷貝和讀數據塊檢驗信息
7.3 作為整體的數據節點
7.3.1 數據節點和名字節點的交互
7.3.2 數據塊掃描器
7.3.3 數據節點的啟停
7.4 小結
第8章 名字節點實現
8.1 文件系統的目錄樹
8.1.1 從i-node到INode
8.1.2 命名空間鏡像和編輯日志
8.1.3 第二名字節點
8.1.4 FSDirectory的實現
8.2 數據塊和數據節點管理
8.2.1 數據結構
8.2.2 數據節點管理
8.2.3 數據塊管理
8.3 遠程接口ClientProtocol的實現
8.3.1 文件和目錄相關事務
8.3.2 讀數據使用的方法
8.3.3 寫數據使用的方法
8.3.4 工具dfsadmin依賴的方法
8.4 名字節點的啟動和停止
8.4.1 安全模式
8.4.2 名字節點的啟動
8.4.3 名字節點的停止
8.5 小結
第9章 HDFS客戶端
9.1 認識DFSClient
9.1.1 DFSClient的構造和關閉
9.1.2 文件和目錄、系統管理相關事務
9.1.3 刪除HDFS文件目錄的流程
9.2 輸入流
9.2.1 讀數據前的準備:打開文件
9.2.2 讀數據
9.2.3 關閉輸入流
9.2.4 讀取HDFS文件數據的流程
9.3 輸出流
9.3.1 寫數據前的準備:創建文件
9.3.2 寫數據:數據流管道的建立
9.3.3 寫數據:數據包的發送
9.3.4 寫數據:數據流管道出錯處理
9.3.5 寫數據:租約更新
9.3.6 寫數據:DFSOutputStream.sync()的作用
9.3.7 關閉輸出流
9.3.8 向HDFS文件寫入數據的流程
9.4 DistributedFileSystem的實現
9.5 HDFS常用工具
9.5.1 FsShell
9.5.2 DFSAdmin
- PC官方版
- 安卓官方手機版
- IOS官方手機版