注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計其他編程語言/工具Hadoop技術(shù)內(nèi)幕:深入解析Hadoop Common和HDFS架構(gòu)設(shè)計與實現(xiàn)原理

Hadoop技術(shù)內(nèi)幕:深入解析Hadoop Common和HDFS架構(gòu)設(shè)計與實現(xiàn)原理

Hadoop技術(shù)內(nèi)幕:深入解析Hadoop Common和HDFS架構(gòu)設(shè)計與實現(xiàn)原理

定 價:¥89.00

作 者: 蔡斌,陳湘萍 著
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 編程語言與程序設(shè)計 計算機與互聯(lián)網(wǎng)

ISBN: 9787111417668 出版時間: 2013-04-15 包裝: 平裝
開本: 16 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書主要分為三個部分。 第一部分(第1章)對如何建立Hadoop的開發(fā)、分析環(huán)境做了簡單的介紹。對于Hadoop這樣復(fù)雜、龐大的項目,一個好的開發(fā)環(huán)境可以讓讀者事半功倍地學(xué)習(xí)、研究源代碼。 第二部分(第2~5章)主要對Hadoop公共工具Common的實現(xiàn)進行研究。分別介紹了Hadoop的配置系統(tǒng)、面向海量數(shù)據(jù)處理的序列化和壓縮機制、Hadoop使用的遠程過程調(diào)用,以及滿足Hadoop上各類應(yīng)用訪問數(shù)據(jù)的Hadoop抽象文件系統(tǒng)和部分具體文件系統(tǒng)。 第三部分(第6~9章)對Hadoop分布式文件系統(tǒng)進行了詳細的分析。這部分內(nèi)容采用總-分-總的結(jié)構(gòu),第6章介紹了HDFS各個實體和實體間接口,第7章和第8章分別詳細地研究了數(shù)據(jù)節(jié)點和名字節(jié)點的實現(xiàn)原理,第9章通過對客戶端的解析,回顧HDFS各節(jié)點間的配合,完整地介紹了一個大規(guī)模數(shù)據(jù)存儲系統(tǒng)的實現(xiàn)。 通過本書,讀者不僅能全面了解Hadoop的優(yōu)秀架構(gòu)和設(shè)計思想,而且還能從Hadoop,特別是HDFS的實現(xiàn)源碼中一窺Java開發(fā)的精髓和分布式系統(tǒng)的精要??闭`和支持 由于作者的水平有限,編寫時間跨度較長,同時開源軟件的演化較快,書中難免會出現(xiàn)一些錯誤或者不準(zhǔn)確的地方,懇請讀者批評指正。如果大家有和本書相關(guān)的內(nèi)容需要探討,或有更多的寶貴意見,歡迎通過caibinbupt@qq.com和我們聯(lián)系,希望能結(jié)識更多的朋友,大家共同進步。書中的源代碼文件可以從華章網(wǎng)站下載。致謝 感謝機械工業(yè)出版社華章公司的編輯楊福川和白宇,楊老師的耐心和支持讓本書最終得以出版,白老師的很多建議使本書的可讀性更強。 感謝騰訊數(shù)據(jù)平臺部的張文郁、趙重慶和徐釗,作為本書的第一批讀者和Hadoop專家,他們的反饋意見讓本書增色不少。 感謝和我們一起工作、研究和應(yīng)用Hadoop的騰訊數(shù)據(jù)平臺部,以及IBM中國研究中心和中山大學(xué)的領(lǐng)導(dǎo)和同事們,本書的很多內(nèi)容是對實際項目的總結(jié)。最后,作者向支持本書寫作的家人深表謝意,感謝他們的耐心和理解。

作者簡介

  蔡斌,資深Hadoop技術(shù)專家,基于Hadoop的開源項目X-RIME的作者之一。國內(nèi)Hadoop應(yīng)用和源代碼研究領(lǐng)域的先驅(qū)之一,有10余年開發(fā)經(jīng)驗,先后任職于朗訊科技、IBM中國研究院等國內(nèi)外知名企業(yè),目前擔(dān)任騰訊數(shù)據(jù)平臺部的高級工程師,從事Hadoop相關(guān)技術(shù)的研究、應(yīng)用和實施,實戰(zhàn)經(jīng)驗非常豐富。對分布式計算、電信增值業(yè)務(wù)、網(wǎng)絡(luò)管理等領(lǐng)域有深刻的認識和理解,擁有近10項發(fā)明專利,其中兩項為美國專利,大部分與海量數(shù)據(jù)處理相關(guān)。近期關(guān)注海量數(shù)據(jù)的流式處理、Hadoop上的大數(shù)據(jù)應(yīng)用與挖掘等。陳湘萍,北京大學(xué)計算機系博士,目前就職于中山大學(xué),專注于Hadoop、云計算、軟件中間件、模型驅(qū)動的軟件工程等技術(shù)的研究和實踐。擁有發(fā)明專利5項,參與1項國家電子行業(yè)標(biāo)準(zhǔn)的制定,發(fā)表學(xué)術(shù)論文10余篇。

圖書目錄

前 言
第一部分 環(huán)境準(zhǔn)備
第1章 源代碼環(huán)境準(zhǔn)備/ 2
1.1 什么是Hadoop / 2
1.1.1 Hadoop簡史/ 2
1.1.2 Hadoop的優(yōu)勢/ 3
1.1.3 Hadoop生態(tài)系統(tǒng)/ 4
1.2 準(zhǔn)備源代碼閱讀環(huán)境/ 8
1.2.1 安裝與配置JDK / 8
1.2.2 安裝Eclipse / 9
1.2.3 安裝輔助工具Ant/ 12
1.2.4 安裝類UNIX Shell環(huán)境Cygwin / 13
1.3 準(zhǔn)備Hadoop源代碼/ 15
1.3.1 下載Hadoop / 15
1.3.2 創(chuàng)建Eclipse項目/ 16
1.3.3 Hadoop源代碼組織/ 18
1.4 小結(jié)/ 19
第二部分 Common的實現(xiàn)
第2章 Hadoop配置信息處理/ 22
2.1 配置文件簡介/ 22
2.1.1 Windows操作系統(tǒng)的配置文件/ 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*訪問/設(shè)置配置項/ 32
2.3 Configurable接口/ 34
2.4 小結(jié)/ 35
第3章 序列化與壓縮/ 36
3.1 序列化/ 36
3.1.1 Java內(nèi)建序列化機制/ 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應(yīng)用實例/ 51
3.2.3 Hadoop壓縮框架/ 52
3.2.4 Java本地方法/ 61
3.2.5 支持Snappy壓縮/ 65
3.3 小結(jié)/ 69
第4章 Hadoop遠程過程調(diào)用/ 70
4.1 遠程過程調(diào)用基礎(chǔ)知識/ 70
4.1.1 RPC原理/ 70
4.1.2 RPC機制的實現(xiàn)/ 72
4.1.3 Java遠程方法調(diào)用/ 73
4.2 Java動態(tài)代理/ 78
4.2.1 創(chuàng)建代理接口/ 78
4.2.2 調(diào)用轉(zhuǎn)發(fā)/ 80
4.2.3 動態(tài)代理實例/ 81
4.3 Java NIO/ 84
4.3.1 Java基本套接字/ 84
4.3.2 Java NIO基礎(chǔ)/ 86
4.3.3 Java NIO實例:回顯服務(wù)器/ 93
4.4 Hadoop中的遠程過程調(diào)用/ 96
4.4.1 利用Hadoop IPC構(gòu)建簡單的分布式系統(tǒng)/ 96
4.4.2 Hadoop IPC的代碼結(jié)構(gòu)/ 100
4.5 Hadoop IPC連接相關(guān)過程/ 104
4.5.1 IPC連接成員變量/ 104
4.5.2 建立IPC連接/ 106
4.5.3 數(shù)據(jù)分幀和讀寫/ 111
4.5.4 維護IPC連接/ 114
4.5.5 關(guān)閉IPC連接/ 116
4.6 Hadoop IPC方法調(diào)用相關(guān)過程/ 118
4.6.1 Java接口與接口體/ 119
4.6.2 IPC方法調(diào)用成員變量/ 121
4.6.3 客戶端方法調(diào)用過程/ 123
4.6.4 服務(wù)器端方法調(diào)用過程/ 126
4.7 Hadoop IPC上的其他輔助過程/ 135
4.7.1 RPC.getProxy()和RPC.stopProxy() / 136
4.7.2 RPC.getServer()和Server的啟停/ 138
4.8 小結(jié)/ 141
第5章 Hadoop文件系統(tǒng)/ 142
5.1 文件系統(tǒng)/ 142
5.1.1 文件系統(tǒng)的用戶界面/ 142
5.1.2 文件系統(tǒng)的實現(xiàn)/ 145
5.1.3 文件系統(tǒng)的保護控制/ 147
5.2 Linux文件系統(tǒng)/ 150
5.2.1 Linux本地文件系統(tǒng)/ 150
5.2.2 虛擬文件系統(tǒng)/ 153
5.2.3 Linux文件保護機制/ 154
5.2.4 Linux文件系統(tǒng)API/ 155
5.3 分布式文件系統(tǒng)/ 159
5.3.1 分布式文件系統(tǒng)的特性/ 159
5.3.2 基本NFS體系結(jié)構(gòu)/ 160
5.3.3 NFS支持的文件操作/ 160
5.4 Java文件系統(tǒng)/ 162
5.4.1 Java文件系統(tǒng)API / 162
5.4.2 URI和URL / 164
5.4.3 Java輸入/輸出流/ 166
5.4.4 隨機存取文件/ 169
5.5 Hadoop抽象文件系統(tǒng)/ 170
5.5.1 Hadoop文件系統(tǒng)API / 170
5.5.2 Hadoop輸入/輸出流/ 175
5.5.3 Hadoop文件系統(tǒng)中的權(quán)限/ 179
5.5.4 抽象文件系統(tǒng)中的靜態(tài)方法/ 180
5.5.5 Hadoop文件系統(tǒng)中的協(xié)議處理器/ 184
5.6 Hadoop具體文件系統(tǒng)/ 188
5.6.1 FileSystem層次結(jié)構(gòu)/ 189
5.6.2 RawLocalFileSystem的實現(xiàn)/ 191
5.6.3 ChecksumFileSystem的實現(xiàn)/ 196
5.6.4 RawInMemoryFileSystem的實現(xiàn)/ 210
5.7 小結(jié)/ 213
第三部分 Hadoop分布式文件系統(tǒng)
第6章 HDFS概述/ 216
6.1 初識HDFS / 216
6.1.1 HDFS主要特性/ 216
6.1.2 HDFS體系結(jié)構(gòu)/ 217
6.1.3 HDFS源代碼結(jié)構(gòu)/ 221
6.2 基于遠程過程調(diào)用的接口/ 223
6.2.1 與客戶端相關(guān)的接口/ 224
6.2.2 HDFS各服務(wù)器間的接口/ 236
6.3 非遠程過程調(diào)用接口/ 244
6.3.1 數(shù)據(jù)節(jié)點上的非IPC接口/ 245
6.3.2 名字節(jié)點和第二名字節(jié)點上的非IPC接口/ 252
6.4 HDFS主要流程/ 254
6.4.1 客戶端到名字節(jié)點的文件與目錄操作/ 254
6.4.2 客戶端讀文件/ 256
6.4.3 客戶端寫文件/ 257
6.4.4 數(shù)據(jù)節(jié)點的啟動和心跳/ 258
6.4.5 第二名字節(jié)點合并元數(shù)據(jù)/ 259
6.5 小結(jié)/ 261
第7章 數(shù)據(jù)節(jié)點實現(xiàn)/ 263
7.1 數(shù)據(jù)塊存儲/ 263
7.1.1 數(shù)據(jù)節(jié)點的磁盤目錄文件結(jié)構(gòu)/ 263
7.1.2 數(shù)據(jù)節(jié)點存儲的實現(xiàn)/ 266
7.1.3 數(shù)據(jù)節(jié)點升級/ 269
7.1.4 文件系統(tǒng)數(shù)據(jù)集的工作機制/ 276
7.2 流式接口的實現(xiàn)/ 285
7.2.1 DataXceiverServer和DataXceiver / 286
7.2.2 讀數(shù)據(jù)/ 289
7.2.3 寫數(shù)據(jù)/ 298
7.2.4 數(shù)據(jù)塊替換、數(shù)據(jù)塊拷貝和讀數(shù)據(jù)塊檢驗信息/ 313
7.3 作為整體的數(shù)據(jù)節(jié)點/ 314
7.3.1 數(shù)據(jù)節(jié)點和名字節(jié)點的交互/ 314
7.3.2 數(shù)據(jù)塊掃描器/ 319
7.3.3 數(shù)據(jù)節(jié)點的啟停/ 321
7.4 小結(jié)/ 326
第8章 名字節(jié)點實現(xiàn)/ 327
8.1 文件系統(tǒng)的目錄樹/ 327
8.1.1 從i-node到INode/ 327
8.1.2 命名空間鏡像和編輯日志/ 333
8.1.3 第二名字節(jié)點/ 351
8.1.4 FSDirectory的實現(xiàn)/ 361
8.2 數(shù)據(jù)塊和數(shù)據(jù)節(jié)點管理/ 365
8.2.1 數(shù)據(jù)結(jié)構(gòu)/ 366
8.2.2 數(shù)據(jù)節(jié)點管理/ 378
8.2.3 數(shù)據(jù)塊管理/ 392
8.3 遠程接口ClientProtocol的實現(xiàn)/ 412
8.3.1 文件和目錄相關(guān)事務(wù)/ 412
8.3.2 讀數(shù)據(jù)使用的方法/ 415
8.3.3 寫數(shù)據(jù)使用的方法/ 419
8.3.4 工具dfsadmin依賴的方法/ 443
8.4 名字節(jié)點的啟動和停止/ 444
8.4.1 安全模式/ 444
8.4.2 名字節(jié)點的啟動/ 449
8.4.3 名字節(jié)點的停止/ 454
8.5 小結(jié)/ 454
第9章 HDFS客戶端/ 455
9.1 認識DFSClient / 455
9.1.1 DFSClient的構(gòu)造和關(guān)閉/ 455
9.1.2 文件和目錄、系統(tǒng)管理相關(guān)事務(wù)/ 457
9.1.3 刪除HDFS文件/目錄的流程/ 459
9.2 輸入流/ 461
9.2.1 讀數(shù)據(jù)前的準(zhǔn)備:打開文件/ 463
9.2.2 讀數(shù)據(jù)/ 465
9.2.3 關(guān)閉輸入流/ 475
9.2.4 讀取HDFS文件數(shù)據(jù)的流程/ 475
9.3 輸出流/ 478
9.3.1 寫數(shù)據(jù)前的準(zhǔn)備:創(chuàng)建文件/ 481
9.3.2 寫數(shù)據(jù):數(shù)據(jù)流管道的建立/ 482
9.3.3 寫數(shù)據(jù):數(shù)據(jù)包的發(fā)送/ 486
9.3.4 寫數(shù)據(jù):數(shù)據(jù)流管道出錯處理/ 493
9.3.5 寫數(shù)據(jù):租約更新/ 496
9.3.6 寫數(shù)據(jù):DFSOutputStream.sync()的作用/ 497
9.3.7 關(guān)閉輸出流/ 499
9.3.8 向HDFS文件寫入數(shù)據(jù)的流程/ 500
9.4 DistributedFileSystem的實現(xiàn)/ 506
9.5 HDFS常用工具/ 508
9.5.1 FsShell / 508
9.5.2 DFSAdmin / 510
9.6 小結(jié)/ 511

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號