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

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

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

定 價(jià):¥89.00

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

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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

  蔡斌,資深Hadoop技術(shù)專家,基于Hadoop的開(kāi)源項(xiàng)目X-RIME的作者之一。國(guó)內(nèi)Hadoop應(yīng)用和源代碼研究領(lǐng)域的先驅(qū)之一,有10余年開(kāi)發(fā)經(jīng)驗(yàn),先后任職于朗訊科技、IBM中國(guó)研究院等國(guó)內(nèi)外知名企業(yè),目前擔(dān)任騰訊數(shù)據(jù)平臺(tái)部的高級(jí)工程師,從事Hadoop相關(guān)技術(shù)的研究、應(yīng)用和實(shí)施,實(shí)戰(zhàn)經(jīng)驗(yàn)非常豐富。對(duì)分布式計(jì)算、電信增值業(yè)務(wù)、網(wǎng)絡(luò)管理等領(lǐng)域有深刻的認(rèn)識(shí)和理解,擁有近10項(xiàng)發(fā)明專利,其中兩項(xiàng)為美國(guó)專利,大部分與海量數(shù)據(jù)處理相關(guān)。近期關(guān)注海量數(shù)據(jù)的流式處理、Hadoop上的大數(shù)據(jù)應(yīng)用與挖掘等。陳湘萍,北京大學(xué)計(jì)算機(jī)系博士,目前就職于中山大學(xué),專注于Hadoop、云計(jì)算、軟件中間件、模型驅(qū)動(dòng)的軟件工程等技術(shù)的研究和實(shí)踐。擁有發(fā)明專利5項(xiàng),參與1項(xiàng)國(guó)家電子行業(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簡(jiǎn)史/ 2
1.1.2 Hadoop的優(yōu)勢(shì)/ 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項(xiàng)目/ 16
1.3.3 Hadoop源代碼組織/ 18
1.4 小結(jié)/ 19
第二部分 Common的實(shí)現(xiàn)
第2章 Hadoop配置信息處理/ 22
2.1 配置文件簡(jiǎn)介/ 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*訪問(wèn)/設(shè)置配置項(xiàng)/ 32
2.3 Configurable接口/ 34
2.4 小結(jié)/ 35
第3章 序列化與壓縮/ 36
3.1 序列化/ 36
3.1.1 Java內(nèi)建序列化機(jī)制/ 36
3.1.2 Hadoop序列化機(jī)制/ 38
3.1.3 Hadoop序列化機(jī)制的特征/ 39
3.1.4 Hadoop Writable機(jī)制/ 39
3.1.5 典型的Writable類詳解/ 41
3.1.6 Hadoop序列化框架/ 48
3.2 壓縮/ 49
3.2.1 Hadoop壓縮簡(jiǎn)介/ 50
3.2.2 Hadoop壓縮API應(yīng)用實(shí)例/ 51
3.2.3 Hadoop壓縮框架/ 52
3.2.4 Java本地方法/ 61
3.2.5 支持Snappy壓縮/ 65
3.3 小結(jié)/ 69
第4章 Hadoop遠(yuǎn)程過(guò)程調(diào)用/ 70
4.1 遠(yuǎn)程過(guò)程調(diào)用基礎(chǔ)知識(shí)/ 70
4.1.1 RPC原理/ 70
4.1.2 RPC機(jī)制的實(shí)現(xiàn)/ 72
4.1.3 Java遠(yuǎn)程方法調(diào)用/ 73
4.2 Java動(dòng)態(tài)代理/ 78
4.2.1 創(chuàng)建代理接口/ 78
4.2.2 調(diào)用轉(zhuǎn)發(fā)/ 80
4.2.3 動(dòng)態(tài)代理實(shí)例/ 81
4.3 Java NIO/ 84
4.3.1 Java基本套接字/ 84
4.3.2 Java NIO基礎(chǔ)/ 86
4.3.3 Java NIO實(shí)例:回顯服務(wù)器/ 93
4.4 Hadoop中的遠(yuǎn)程過(guò)程調(diào)用/ 96
4.4.1 利用Hadoop IPC構(gòu)建簡(jiǎn)單的分布式系統(tǒng)/ 96
4.4.2 Hadoop IPC的代碼結(jié)構(gòu)/ 100
4.5 Hadoop IPC連接相關(guān)過(guò)程/ 104
4.5.1 IPC連接成員變量/ 104
4.5.2 建立IPC連接/ 106
4.5.3 數(shù)據(jù)分幀和讀寫/ 111
4.5.4 維護(hù)IPC連接/ 114
4.5.5 關(guān)閉IPC連接/ 116
4.6 Hadoop IPC方法調(diào)用相關(guān)過(guò)程/ 118
4.6.1 Java接口與接口體/ 119
4.6.2 IPC方法調(diào)用成員變量/ 121
4.6.3 客戶端方法調(diào)用過(guò)程/ 123
4.6.4 服務(wù)器端方法調(diào)用過(guò)程/ 126
4.7 Hadoop IPC上的其他輔助過(guò)程/ 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)的實(shí)現(xiàn)/ 145
5.1.3 文件系統(tǒng)的保護(hù)控制/ 147
5.2 Linux文件系統(tǒng)/ 150
5.2.1 Linux本地文件系統(tǒng)/ 150
5.2.2 虛擬文件系統(tǒng)/ 153
5.2.3 Linux文件保護(hù)機(jī)制/ 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 隨機(jī)存取文件/ 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的實(shí)現(xiàn)/ 191
5.6.3 ChecksumFileSystem的實(shí)現(xiàn)/ 196
5.6.4 RawInMemoryFileSystem的實(shí)現(xiàn)/ 210
5.7 小結(jié)/ 213
第三部分 Hadoop分布式文件系統(tǒng)
第6章 HDFS概述/ 216
6.1 初識(shí)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 基于遠(yuǎn)程過(guò)程調(diào)用的接口/ 223
6.2.1 與客戶端相關(guān)的接口/ 224
6.2.2 HDFS各服務(wù)器間的接口/ 236
6.3 非遠(yuǎn)程過(guò)程調(diào)用接口/ 244
6.3.1 數(shù)據(jù)節(jié)點(diǎn)上的非IPC接口/ 245
6.3.2 名字節(jié)點(diǎn)和第二名字節(jié)點(diǎn)上的非IPC接口/ 252
6.4 HDFS主要流程/ 254
6.4.1 客戶端到名字節(jié)點(diǎn)的文件與目錄操作/ 254
6.4.2 客戶端讀文件/ 256
6.4.3 客戶端寫文件/ 257
6.4.4 數(shù)據(jù)節(jié)點(diǎn)的啟動(dòng)和心跳/ 258
6.4.5 第二名字節(jié)點(diǎn)合并元數(shù)據(jù)/ 259
6.5 小結(jié)/ 261
第7章 數(shù)據(jù)節(jié)點(diǎn)實(shí)現(xiàn)/ 263
7.1 數(shù)據(jù)塊存儲(chǔ)/ 263
7.1.1 數(shù)據(jù)節(jié)點(diǎn)的磁盤目錄文件結(jié)構(gòu)/ 263
7.1.2 數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)的實(shí)現(xiàn)/ 266
7.1.3 數(shù)據(jù)節(jié)點(diǎn)升級(jí)/ 269
7.1.4 文件系統(tǒng)數(shù)據(jù)集的工作機(jī)制/ 276
7.2 流式接口的實(shí)現(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ù)塊檢驗(yàn)信息/ 313
7.3 作為整體的數(shù)據(jù)節(jié)點(diǎn)/ 314
7.3.1 數(shù)據(jù)節(jié)點(diǎn)和名字節(jié)點(diǎn)的交互/ 314
7.3.2 數(shù)據(jù)塊掃描器/ 319
7.3.3 數(shù)據(jù)節(jié)點(diǎn)的啟停/ 321
7.4 小結(jié)/ 326
第8章 名字節(jié)點(diǎn)實(shí)現(xiàn)/ 327
8.1 文件系統(tǒng)的目錄樹/ 327
8.1.1 從i-node到INode/ 327
8.1.2 命名空間鏡像和編輯日志/ 333
8.1.3 第二名字節(jié)點(diǎn)/ 351
8.1.4 FSDirectory的實(shí)現(xiàn)/ 361
8.2 數(shù)據(jù)塊和數(shù)據(jù)節(jié)點(diǎn)管理/ 365
8.2.1 數(shù)據(jù)結(jié)構(gòu)/ 366
8.2.2 數(shù)據(jù)節(jié)點(diǎn)管理/ 378
8.2.3 數(shù)據(jù)塊管理/ 392
8.3 遠(yuǎn)程接口ClientProtocol的實(shí)現(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é)點(diǎn)的啟動(dòng)和停止/ 444
8.4.1 安全模式/ 444
8.4.2 名字節(jié)點(diǎn)的啟動(dòng)/ 449
8.4.3 名字節(jié)點(diǎn)的停止/ 454
8.5 小結(jié)/ 454
第9章 HDFS客戶端/ 455
9.1 認(rèn)識(shí)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)備:打開(kāi)文件/ 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ù)流管道出錯(cuò)處理/ 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的實(shí)現(xiàn)/ 506
9.5 HDFS常用工具/ 508
9.5.1 FsShell / 508
9.5.2 DFSAdmin / 510
9.6 小結(jié)/ 511

本目錄推薦

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