編輯推薦
基於Hadoop 2.7.1版本,全麵描述HDFS 2.X的核心技術與解決方案。對於HDFS中比較特殊的幾個場景過程進行細粒度分析,包括源碼分析,融入瞭作者多年的開發經驗。
本書作者是一名Hadoop社區的活躍貢獻者,研究並貢獻瞭很多代碼。他把工作實踐中遇到的許多經驗寫入瞭書中,介紹瞭HDFS未來比較棒的一些功能特性,以及Hadoop社區目前在做的一些事情。在這本書中,你會看到許多與社區相關的JIRA,告訴你如何從社區上找到問題的解決辦法。
本書適閤具有一定Java語言基礎的讀者。
內容簡介
本書基於Hadoop 2.7.1版本進行分析,全麵描述瞭HDFS 2.X的核心技術與解決方案,書中描述瞭HDFS內存存儲、異構存儲等幾大核心設計,包括源碼細節層麵的分析,對於HDFS中比較特殊的幾個場景過程也做瞭細粒度的分析。還分享瞭作者在實際應用中的解決方案及擴展思路。閱讀本書可以幫助讀者從架構設計與功能實現角度瞭解HDFS 2.X,同時還能學習HDFS 2.X框架中優秀的設計思想、設計模式、Java語言技巧等。這些對於讀者全麵提高自己分布式技術水平有很大的幫助。本書分為三大部分:核心設計篇、細節實現篇、解決方案篇,“核心設計篇”包括HDFS的數據存儲原理、HDFS的數據管理與策略選擇機製、HDFS的新穎功能特性;“細節實現篇”包括HDFS的塊處理、流量處理等細節,以及部分結構分析;“解決方案篇”包括HDFS的數據管理、HDFS的數據讀寫、HDFS的異常場景等。本書適閤於雲計算相關領域研發人員、雲計算相關運維工程師、高年級研究生或本科、熱衷於分布式計算研究的人。
作者簡介
林意群,唯品會上海研發中心數據應用部研發工程師,Apache Hadoop Committer,主要專注於HDFS模塊的研究。對大數據處理、分布式計算興趣濃厚,在實際工作中努力鑽研,分享瞭大量技術文章,貢獻瞭很多實踐經驗。
目錄
前言
第一部分 核心設計篇
第1章 HDFS的數據存儲 2
1.1 HDFS內存存儲 2
1.1.1 HDFS內存存儲原理 2
1.1.2 Linux 虛擬內存盤 4
1.1.3 HDFS的內存存儲流程分析 4
1.1.4 LAZY_PERSIST內存存儲的使用 14
1.2 HDFS異構存儲 15
1.2.1 異構存儲類型 16
1.2.2 異構存儲原理 17
1.2.3 塊存儲類型選擇策略 22
1.2.4 塊存儲策略集閤 24
1.2.5 塊存儲策略的調用 27
1.2.6 HDFS異構存儲策略的不足之處 28
1.2.7 HDFS存儲策略的使用 30
1.3 小結 31
第2章 HDFS的數據管理與策略選擇 32
2.1 HDFS緩存與緩存塊 32
2.1.1 HDFS物理層麵緩存塊 33
2.1.2 緩存塊的生命周期狀態 34
2.1.3 CacheBlock、UnCacheBlock場景觸發 36
2.1.4 CacheBlock、UnCacheBlock緩存塊的確定 38
2.1.5 係統持有的緩存塊列錶如何更新 39
2.1.6 緩存塊的使用 40
2.1.7 HDFS緩存相關配置 40
2.2 HDFS中心緩存管理 42
2.2.1 HDFS緩存適用場景 43
2.2.2 HDFS緩存的結構設計 43
2.2.3 HDFS緩存管理機製分析 45
2.2.4 HDFS中心緩存疑問點 55
2.2.5 HDFS CacheAdmin命令使用 56
2.3 HDFS快照管理 58
2.3.1 快照概念 59
2.3.2 HDFS中的快照相關命令 59
2.3.3 HDFS內部的快照管理機製 60
2.3.4 HDFS的快照使用 71
2.4 HDFS副本放置策略 72
2.4.1 副本放置策略概念與方法 72
2.4.2 副本放置策略的有效前提 73
2.4.3 默認副本放置策略的分析 73
2.4.4 目標存儲好壞的判斷 82
2.4.5 chooseTargets的調用 83
2.4.6 BlockPlacementPolicyWithNodeGroup繼承類 84
2.4.7 副本放置策略的結果驗證 85
2.5 HDFS內部的認證機製 85
2.5.1 BlockToken認證 85
2.5.2 HDFS的Sasl認證 91
2.5.3 BlockToken認證與HDFS的Sasl認證對比 97
2.6 HDFS內部的磁盤目錄服務 98
2.6.1 HDFS的三大磁盤目錄檢測掃描服務 98
2.6.2 DiskChecker:壞盤檢測服務 99
2.6.3 DirectoryScanner:目錄掃描服務 104
2.6.4 VolumeScanner:磁盤目錄掃描服務 110
2.7 小結 116
第3章 HDFS的新穎功能特性 117
3.1 HDFS視圖文件係統:ViewFileSystem 117
3.2 HDFS的Web文件係統:WebHdfsFileSystem 126
3.3 HDFS數據加密空間:Encryption zone 136
3.4 HDFS糾刪碼技術 145
3.5 HDFS對象存儲:Ozone 152
3.6 小結 158
第二部分 細節實現篇
第4章 HDFS的塊處理 160
4.1 HDFS塊檢查命令fsck 160
4.2 HDFS如何檢測並刪除多餘副本塊 171
4.3 HDFS數據塊的匯報與處理 179
4.4 小結 193
第5章 HDFS的流量處理 194
5.1 HDFS的內部限流 194
5.2 數據平衡 204
5.3 HDFS節點內數據平衡 210
5.4 小結 216
第6章 HDFS的部分結構分析 217
6.1 HDFS鏡像文件的解析與反解析 217
6.2 DataNode數據處理中心DataXceiver 227
6.3 HDFS鄰近信息塊:BlockInfoContiguous 235
6.4 小結 246
第三部分 解決方案篇
第7章 HDFS的數據管理 248
7.1 HDFS的讀寫限流方案 248
7.2 HDFS數據資源使用量分析以及趨勢預測 250
7.3 HDFS數據遷移解決方案 257
7.4 DataNode遷移方案 265
7.5 HDFS集群重命名方案 268
7.6 HDFS的配置管理方案 271
7.7 小結 273
第8章 HDFS的數據讀寫 274
8.1 DataNode引用計數磁盤選擇策略 274
8.2 Hadoop節點“慢磁盤”監控 282
8.3 小結 287
第9章 HDFS的異常場景 288
9.1 DataNode慢啓動問題 288
9.2 Hadoop中止下綫操作後大量剩餘復製塊問題 295
9.3 DFSOutputStream的DataStreamer綫程泄漏問題 306
9.4 小結 319
附錄 如何嚮開源社區提交自己的代碼 320
前言/序言
我上大學時,就開始在CSDN上寫技術博客,目的在於記錄平時遇到的一些問題以及研究的技術細節,好在將來可以進行查閱。隨著時間的增長,我開始專注於某個技術模塊,因為這樣可以讓我對具體某項技術有更深入的研究,寫齣的內容也會更加係統化,而HDFS就是其中一個我持續研究的技術模塊。同時作為一名Hadoop社區的活躍貢獻者,我也會將社區上一些比較有意思的東西分享到博客上,許多博友給瞭不少反饋,描述他們在工作中碰到的一些實際問題。在這樣不斷的寫作、交流過程中,我得到瞭快速成長。目前大數據領域相關的書籍並不是很多,而專門講解其中一個模塊的書則更少,所以我將我過去一年多時間內關於HDFS的博客文章進行瞭整理、改進,同時也加入瞭一些新的內容。可以這麼說,本書的內容源自博客,但是超越博客。
本書不會是純源碼分析的書籍。首先,我把工作實踐中遇到的許多經驗寫入瞭書中,第7章便屬於純實踐型的經驗總結。其次,本書會是一個比較“新”的書,這裏的“新”並不是指所分析的代碼版本新,而是包含瞭HDFS未來的一些比較棒的功能特性,以及Hadoop社區目前在做的一些事情。在這本書中,你會看到許多與社區相關的JIRA,瞭解如何從社區上找到問題的解決辦法。期待本書能給你帶來更多的啓發。
本書適閤具有一定Java語言基礎的同學,尤其適閤以下讀者朋友:
大數據架構師、開發者、運維工程師。
高年級本科生或研究生。
熱衷於分布式存儲技術的愛好者。
本書分為三大部分,“核心設計篇”介紹HDFS的基本原理、數據管理與策略等,“細節實現篇”介紹HDFS的塊處理、流量處理、結構分析等,“解決方案篇”介紹數據管理技術與方案、數據讀寫技術、異常處理等。
第一部分“核心設計篇”包括內容如下:
第1章介紹HDFS現有的數據存儲方式,主要介紹其中的內存存儲和異構存儲兩個方麵。
第2章介紹HDFS目前內部幾種主要的功能機製,包括緩存管理、快照管理等。
第3章介紹HDFS比較新穎的一些功能,以及目前較少被人用到的功能特性。
第二部分“細節實現篇”包括內容如下:
第4章介紹HDFS的塊處理相關操作,主要處理場景包括塊如何組織、上報處理的過程以及多餘塊的清除。
第5章介紹HDFS的流量處理過程,包括HDFS目前流量處理的場景以及Balancer工具的數據平衡原理和優化。
第6章介紹HDFS一些特殊的結構對象類,包括這些類的作用、原理以及運用場景。
第三部分“解決方案篇”包括內容如下:
第7章介紹與HDFS相關的多套運維管理的操作方案,包括數據遷移、數據監控等方麵。
第8章介紹HDFS寫磁盤時的一些優化策略和改造方案。
第9章介紹HDFS的一些異常場景,並給齣瞭相應的解決方案。
感謝機械工業齣版社的吳怡編輯,在我寫作的過程中,不斷指齣其中的不足之處,督促和引導我完成本書的編寫。
感謝蘑菇街數據平颱部的同事們,在工作中不斷地給予我幫助和支持,協助我解決各種各樣的問題,於是纔有瞭本書中所展現的精彩內容。
林意群
2017年2月
深度剖析Hadoop HDFS 下載 mobi epub pdf txt 電子書 格式