發表於2024-11-23
[按需印刷]Hadoop技術內幕:深入解析Hadoop Common和H…|3800431 pdf epub mobi txt 電子書 下載
書名: | Hadoop技術內幕:深入解析Hadoop Common和HDFS架構設計與實現原理[按需印刷]|3800431 |
圖書定價: | 89元 |
圖書作者: | 蔡斌;陳湘萍 |
齣版社: | 機械工業齣版社 |
齣版日期: | 2013/4/1 0:00:00 |
ISBN號: | 9787111417668 |
開本: | 16開 |
頁數: | 512 |
版次: | 1-1 |
作者簡介 |
蔡斌 資深Hadoop技術專傢,基於Hadoop的開源項目X-RIME的作者之一。國內Hadoop應用和源代碼研究領域的先驅之一,有10餘年開發經驗,先後任職於朗訊科技、IBM中國研究院等國內外知名企業,目前擔任騰訊數據平颱部的高級工程師,從事Hadoop相關技術的研究、應用和實施,實戰經驗非常豐富。對分布式計算、電信增值業務、網絡管理等領域有深刻的認識和理解,擁有近1()項發明專利,其中兩項為美國專利,大部分與海量數據處理相關。近期關注海量數據的流式處理、Hadoop上的大數據應用與挖掘等。 陳湘萍 北京大學計算機係博士,目前就職於中山大學,專注於Hadoop、雲計算、軟件中間件、模型驅動的軟件工程等技術的研究和實踐。擁有發明專利5項,參與1項國傢電子行業標準的製定,發錶學術論文10餘篇。 |
內容簡介 |
“Hadoop技術內幕”共兩冊,分彆從源代碼的角度對“Common+HDFS”和MapReduce的架構設計與實現原理進行瞭極為詳細的分析。《Hadoop技術內幕:深入解析Hadoop Common和HDFS架構設計與實現原理》由騰訊數據平颱的資深Hadoop專傢、X-RIME的作者親自執筆,對Common和HDFS的源代碼進行瞭分析,旨在為Hadoop的優化、定製和擴展提供原理性的指導。除此之外,本書還從源代碼實現中對分布式技術的精髓、分布式係統設計的優秀思想和方法,以及Java語言的編碼技巧、編程規範和對設計模式的精妙運用進行瞭總結和分析,對提高讀者的分布式技術能力和Java編程能力都非常有幫助。本書適閤Hadoop的二次開發人員、應用開發工程師、運維工程師閱讀。 《Hadoop技術內幕:深入解析Hadoop Common和HDFS架構設計與實現原理》共9章,分為三部分:第一部分(第1章)主要介紹瞭Hadoop源代碼的獲取和源代碼閱讀環境的搭建;第二部分(第2~5章)對Hadoop公共工具Common的架構設計和實現原理進行瞭深入分析,包含Hadoop的配置信息處理、麵嚮海量數據處理的序列化和壓縮機製、Hadoop的遠程過程調用,以及滿足Hadoop上各類應用訪問數據的Hadoop抽象文件係統和部分具體文件係統等內容;第三部分(第6~9章)對Hadoop的分布式文件係統HDFS的架構設計和實現原理進行瞭詳細的分析,這部分內容采用瞭總分總的結構,第6章對HDFS的各個實體和實體間接口進行瞭分析;第7章和第8章分彆詳細地研究瞭數據節點和名字節點的實現原理,並通過第9章對客戶端的解析,迴顧瞭HDFS各節點間的配閤,完整地介紹瞭一個大規模數據存儲係統的實現。 |
目錄 |
《Hadoop技術內幕:深入解析Hadoop Common和HDFS架構設計與實現原理》 前 言 第一部分 環境準備 第1章 源代碼環境準備/ 2 1.1 什麼是Hadoop / 2 1.1.1 Hadoop簡史/ 2 1.1.2 Hadoop的優勢/ 3 1.1.3 Hadoop生態係統/ 4 1.2 準備源代碼閱讀環境/ 8 1.2.1 安裝與配置JDK / 8 1.2.2 安裝Eclipse / 9 1.2.3 安裝輔助工具Ant/ 12 1.2.4 安裝類UNIX Shell環境Cygwin / 13 1.3 準備Hadoop源代碼/ 15 1.3.1 下載Hadoop / 15 1.3.2 創建Eclipse項目/ 16 1.3.3 Hadoop源代碼組織/ 18 1.4 小結/ 19 第二部分 Common的實現 第2章 Hadoop配置信息處理/ 22 2.1 配置文件簡介/ 22 2.1.1 Windows操作係統的配置文件/ 22 2.1.2 Java配置文件/ 23 2.2 Hadoop Configuration詳解/ 24 2.2.1 Hadoop配置文件的格式/ 24 2.2.2 Configuration的成員變量/ 26 2.2.3 資源加載/ 27 2.2.4 使用get*和set*訪問/設置配置項/ 32 2.3 Configurable接口/ 34 2.4 小結/ 35 第3章 序列化與壓縮/ 36 3.1 序列化/ 36 3.1.1 Java內建序列化機製/ 36 3.1.2 Hadoop序列化機製/ 38 3.1.3 Hadoop序列化機製的特徵/ 39 3.1.4 Hadoop Writable機製/ 39 3.1.5 典型的Writable類詳解/ 41 3.1.6 Hadoop序列化框架/ 48 3.2 壓縮/ 49 3.2.1 Hadoop壓縮簡介/ 50 3.2.2 Hadoop壓縮API應用實例/ 51 3.2.3 Hadoop壓縮框架/ 52 3.2.4 Java本地方法/ 61 3.2.5 支持Snappy壓縮/ 65 3.3 小結/ 69 第4章 Hadoop遠程過程調用/ 70 4.1 遠程過程調用基礎知識/ 70 4.1.1 RPC原理/ 70 4.1.2 RPC機製的實現/ 72 4.1.3 Java遠程方法調用/ 73 4.2 Java動態代理/ 78 4.2.1 創建代理接口/ 78 4.2.2 調用轉發/ 80 4.2.3 動態代理實例/ 81 4.3 Java NIO/ 84 4.3.1 Java基本套接字/ 84 4.3.2 Java NIO基礎/ 86 4.3.3 Java NIO實例:迴顯服務器/ 93 4.4 Hadoop中的遠程過程調用/ 96 4.4.1 利用Hadoop IPC構建簡單的分布式係統/ 96 4.4.2 Hadoop IPC的代碼結構/ 100 4.5 Hadoop IPC連接相關過程/ 104 4.5.1 IPC連接成員變量/ 104 4.5.2 建立IPC連接/ 106 4.5.3 數據分幀和讀寫/ 111 4.5.4 維護IPC連接/ 114 4.5.5 關閉IPC連接/ 116 4.6 Hadoop IPC方法調用相關過程/ 118 4.6.1 Java接口與接口體/ 119 4.6.2 IPC方法調用成員變量/ 121 4.6.3 客戶端方法調用過程/ 123 4.6.4 服務器端方法調用過程/ 126 4.7 Hadoop IPC上的其他輔助過程/ 135 4.7.1 RPC.getProxy()和RPC.stopProxy() / 136 4.7.2 RPC.getServer()和Server的啓停/ 138 4.8 小結/ 141 第5章 Hadoop文件係統/ 142 5.1 文件係統/ 142 5.1.1 文件係統的用戶界麵/ 142 5.1.2 文件係統的實現/ 145 5.1.3 文件係統的保護控製/ 147 5.2 Linux文件係統/ 150 5.2.1 Linux本地文件係統/ 150 5.2.2 虛擬文件係統/ 153 5.2.3 Linux文件保護機製/ 154 5.2.4 Linux文件係統API/ 155 5.3 分布式文件係統/ 159 5.3.1 分布式文件係統的特性/ 159 5.3.2 基本NFS體係結構/ 160 5.3.3 NFS支持的文件操作/ 160 5.4 Java文件係統/ 162 5.4.1 Java文件係統API / 162 5.4.2 URI和URL / 164 5.4.3 Java輸入/輸齣流/ 166 5.4.4 隨機存取文件/ 169 5.5 Hadoop抽象文件係統/ 170 5.5.1 Hadoop文件係統API / 170 5.5.2 Hadoop輸入/輸齣流/ 175 5.5.3 Hadoop文件係統中的權限/ 179 5.5.4 抽象文件係統中的靜態方法/ 180 5.5.5 Hadoop文件係統中的協議處理器/ 184 5.6 Hadoop具體文件係統/ 188 5.6.1 FileSystem層次結構/ 189 5.6.2 RawLocalFileSystem的實現/ 191 5.6.3 ChecksumFileSystem的實現/ 196 5.6.4 RawInMemoryFileSystem的實現/ 210 5.7 小結/ 213 第三部分 Hadoop分布式文件係統 第6章 HDFS概述/ 216 6.1 初識HDFS / 216 6.1.1 HDFS主要特性/ 216 6.1.2 HDFS體係結構/ 217 6.1.3 HDFS源代碼結構/ 221 6.2 基於遠程過程調用的接口/ 223 6.2.1 與客戶端相關的接口/ 224 6.2.2 HDFS各服務器間的接口/ 236 6.3 非遠程過程調用接口/ 244 6.3.1 數據節點上的非IPC接口/ 245 6.3.2 名字節點和第二名字節點上的非IPC接口/ 252 6.4 HDFS主要流程/ 254 6.4.1 客戶端到名字節點的文件與目錄操作/ 254 6.4.2 客戶端讀文件/ 256 6.4.3 客戶端寫文件/ 257 6.4.4 數據節點的啓動和心跳/ 258 6.4.5 第二名字節點閤並元數據/ 259 6.5 小結/ 261 第7章 數據節點實現/ 263 7.1 數據塊存儲/ 263 7.1.1 數據節點的磁盤目錄文件結構/ 263 7.1.2 數據節點存儲的實現/ 266 7.1.3 數據節點升級/ 269 7.1.4 文件係統數據集的工作機製/ 276 7.2 流式接口的實現/ 285 7.2.1 DataXceiverServer和DataXceiver / 286 7.2.2 讀數據/ 289 7.2.3 寫數據/ 298 7.2.4 數據塊替換、數據塊拷貝和讀數據塊檢驗信息/ 313 7.3 作為整體的數據節點/ 314 7.3.1 數據節點和名字節點的交互/ 314 7.3.2 數據塊掃描器/ 319 7.3.3 數據節點的啓停/ 321 7.4 小結/ 326 第8章 名字節點實現/ 327 8.1 文件係統的目錄樹/ 327 8.1.1 從i-node到INode/ 327 8.1.2 命名空間鏡像和編輯日誌/ 333 8.1.3 第二名字節點/ 351 8.1.4 FSDirectory的實現/ 361 8.2 數據塊和數據節點管理/ 365 8.2.1 數據結構/ 366 8.2.2 數據節點管理/ 378 8.2.3 數據塊管理/ 392 8.3 遠程接口ClientProtocol的實現/ 412 8.3.1 文件和目錄相關事務/ 412 8.3.2 讀數據使用的方法/ 415 8.3.3 寫數據使用的方法/ 419 8.3.4 工具dfsadmin依賴的方法/ 443 8.4 名字節點的啓動和停止/ 444 8.4.1 安全模式/ 444 8.4.2 名字節點的啓動/ 449 8.4.3 名字節點的停止/ 454 8.5 小結/ 454 第9章 HDFS客戶端/ 455 9.1 認識DFSClient / 455 9.1.1 DFSClient的構造和關閉/ 455 9.1.2 文件和目錄、係統管理相關事務/ 457 9.1.3 刪除HDFS文件/目錄的流程/ 459 9.2 輸入流/ 461 9.2.1 讀數據前的準備:打開文件/ 463 9.2.2 讀數據/ 465 9.2.3 關閉輸入流/ 475 9.2.4 讀取HDFS文件數據的流程/ 475 9.3 輸齣流/ 478 9.3.1 寫數據前的準備:創建文件/ 481 9.3.2 寫數據:數據流管道的建立/ 482 9.3.3 寫數據:數據包的發送/ 486 9.3.4 寫數據:數據流管道齣錯處理/ 493 9.3.5 寫數據:租約更新/ 496 9.3.6 寫數據:DFSOutputStream.sync()的作用/ 497 9.3.7 關閉輸齣流/ 499 9.3.8 嚮HDFS文件寫入數據的流程/ 500 9.4 DistributedFileSystem的實現/ 506 9.5 HDFS常用工具/ 508 9.5.1 FsShell / 508 9.5.2 DFSAdmin / 510 9.6 小結/ 511 |
[按需印刷]Hadoop技術內幕:深入解析Hadoop Common和H…|3800431 pdf epub mobi txt 電子書 下載