Hadoop 2.X HDFS源碼剖析

Hadoop 2.X HDFS源碼剖析

《Hadoop 2.X HDFS源碼剖析》是2016年3月電子工業出版社出版的圖書,作者是徐鵬。

基本介紹

  • 書名:Hadoop2.X HDFS源碼剖析
  • 作者:徐鵬 著
  • ISBN:978-7-121-28155-6
  • 頁數:516
  • 定價:108.00元 
  • 出版社電子工業出版社
  • 出版時間:2016年3月出版
  • 開本:16
內容簡介,內容提要,目錄,作者簡介,

內容簡介

《Hadoop 2.X HDFS源碼剖析》以Hadoop 2.6.0源碼為基礎,深入剖析了HDFS 2.X中各個模組的實現細節,包括RPC框架實現、Namenode實現、Datanode實現以及HDFS客戶端實現等。《Hadoop 2.X HDFS源碼剖析》一共有5章,其中第1章從總體上介紹了HDFS的組件、概念以及典型的流程,同時詳細介紹了HDFS各個組件間RPC接口的定義。第2章介紹了Hadoop RPC框架的實現,Hadoop RPC是HDFS各個組件間通信所依賴的底層框架,可以理解為HDFS的神經系統。第3~5章分別介紹了Namenode、Datanode以及HDFS客戶端這三個組件的實現細節,同時穿插介紹了HDFS 2.X的新特性,例如Namenode HA、Federation Namenode等。

內容提要

《Hadoop 2.X HDFS源碼剖析》以Hadoop 2.6.0源碼為基礎,深入剖析了HDFS 2.X中各個模組的實現細節,包括RPC框架實現、Namenode實現、Datanode實現以及HDFS客戶端實現等。《Hadoop 2.X HDFS源碼剖析》一共有5章,其中第1章從總體上介紹了HDFS的組件、概念以及典型的流程,同時詳細介紹了HDFS各個組件間RPC接口的定義。第2章介紹了Hadoop RPC框架的實現,Hadoop RPC是HDFS各個組件間通信所依賴的底層框架,可以理解為HDFS的神經系統。第3~5章分別介紹了Namenode、Datanode以及HDFS客戶端這三個組件的實現細節,同時穿插介紹了HDFS 2.X的新特性,例如Namenode HA、Federation Namenode等。
閱讀《Hadoop 2.X HDFS源碼剖析》可以幫助讀者從架構設計與源碼實現角度了解HDFS 2.X,同時還能學習HDFS 2.X框架中優秀的設計思想、設計模式、Java語言技巧以及編程規範等。這些對於讀者全面提高自己的技術水平有很大的幫助。

目錄

第1章 HDFS 1
1.1 HDFS概述 1
1.1.1 HDFS體系結構 1
1.1.2 HDFS基本概念 2
1.2 HDFS通信協定 4
1.2.1 Hadoop RPC接口 4
1.2.2 流式接口 20
1.3 HDFS主要流程 22
1.3.1 HDFS客戶端讀流程 22
1.3.2 HDFS客戶端寫流程 24
1.3.3 HDFS客戶端追加寫流程 25
1.3.4 Datanode啟動、心跳以及執行名位元組點指令流程 26
1.3.5 HA切換流程 27
第2章 Hadoop RPC 29
2.1 概述 29
2.1.1 RPC框架概述 29
2.1.2 Hadoop RPC框架概述 30
2.2 Hadoop RPC的使用 36
2.2.1 Hadoop RPC使用概述 36
2.2.2 定義RPC協定 40
2.2.3 客戶端獲取Proxy對象 45
2.2.4 伺服器獲取Server對象 54
2.3 Hadoop RPC實現 63
2.3.1 RPC類實現 63
2.3.2 Client類實現 64
2.3.3 Server類實現 76
第3章 Namenode(名位元組點) 88
3.1 檔案系統目錄樹 88
3.1.1 INode相關類 89
3.1.2 Feature相關類 102
3.1.3 FSEditLog類 117
3.1.4 FSImage類 138
3.1.5 FSDirectory類 158
3.2 數據塊管理 162
3.2.1 Block、Replica、BlocksMap 162
3.2.2 數據塊副本狀態 167
3.2.3 BlockManager類(done) 177
3.3 數據節點管理 211
3.3.1 DatanodeDescriptor 212
3.3.2 DatanodeStorageInfo 214
3.3.3 DatanodeManager 217
3.4 租約管理 233
3.4.1 LeaseManager.Lease 233
3.4.2 LeaseManager 234
3.5 快取管理 246
3.5.1 快取概念 247
3.5.2 快取管理命令 247
3.5.3 HDFS集中式快取架構 247
3.5.4 CacheManager類實現 248
3.5.5 CacheReplicationMonitor 250
3.6 ClientProtocol實現 251
3.6.1 創建檔案 251
3.6.2 追加寫檔案 254
3.6.3 創建新的數據塊 257
3.6.4 放棄數據塊 265
3.6.5 關閉檔案 266
3.7 Namenode的啟動和停止 268
3.7.1 安全模式 268
3.7.2 HDFS High Availability 276
3.7.3 名位元組點的啟動 301
3.7.4 名位元組點的停止 306
第4章 Datanode(數據節點) 307
4.1 Datanode邏輯結構 307
4.1.1 HDFS 1.X架構 307
4.1.2 HDFS Federation 308
4.1.3 Datanode邏輯結構 310
4.2 Datanode存儲 312
4.2.1 Datanode升級機制 312
4.2.2 Datanode磁碟存儲結構 315
4.2.3 DataStorage實現 317
4.3 檔案系統數據集 334
4.3.1 Datanode上數據塊副本的狀態 335
4.3.2 BlockPoolSlice實現 335
4.3.3 FsVolumeImpl實現 342
4.3.4 FsVolumeList實現 345
4.3.5 FsDatasetImpl實現 348
4.4 BlockPoolManager 375
4.4.1 BPServiceActor實現 376
4.4.2 BPOfferService實現 389
4.4.3 BlockPoolManager實現 396
4.5 流式接口 398
4.5.1 DataTransferProtocol定義 398
4.5.2 Sender和Receiver 399
4.5.3 DataXceiverServer 403
4.5.4 DataXceiver 406
4.5.5 讀數據 408
4.5.6 寫數據(done) 423
4.5.7 數據塊替換、數據塊拷貝和讀數據塊校驗 437
4.5.8 短路讀操作 437
4.6 數據塊掃描器 437
4.6.1 DataBlockScanner實現 438
4.6.2 BlockPoolSliceScanner實現 439
4.7 DirectoryScanner 442
4.8 DataNode類的實現 443
4.8.1 DataNode的啟動 444
4.8.2 DataNode的關閉 446
第5章 HDFS客戶端 447
5.1 DFSClient實現 447
5.1.1 構造方法 448
5.1.2 關閉方法 449
5.1.3 檔案系統管理與配置方法 450
5.1.4 HDFS檔案與目錄操作方法 451
5.1.5 HDFS檔案讀寫方法 452
5.2 檔案讀操作與輸入流 452
5.2.1 打開檔案 452
5.2.2 讀操作——DFSInputStream實現 461
5.3 檔案短路讀操作 481
5.3.1 短路讀共享記憶體 482
5.3.2 DataTransferProtocol 484
5.3.3 DFSClient短路讀操作流程 488
5.3.4 Datanode短路讀操作流程 509
5.4 檔案寫操作與輸出流 512
5.4.1 創建檔案 512
5.4.2 寫操作——DFSOutputStream實現 516
5.4.3 追加寫操作 543
5.4.4 租約相關 546
5.4.5 關閉輸出流 548
5.5 HDFS常用工具 549
5.5.1 FsShell實現 550
5.5.2 DFSAdmin實現 552

作者簡介

徐鵬 2005-2012年 在北京郵電大學完成本科以及碩士的學習,目前就職於今日頭條擔任基礎架構研發工程師。長期關注大數據處理、分散式系統的研究以及Hadoop相關技術的套用與開發。

相關詞條

熱門詞條

聯絡我們