第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
· · · · · · (
收起)