当前位置:主页 > 计算机电子书 > 程序设计 > Hadoop下载
深度剖析Hadoop HDFS

深度剖析Hadoop HDFS PDF 高清版

  • 更新:2019-10-17
  • 大小:140 MB
  • 类别:Hadoop
  • 作者:林意群
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

深度剖析Hadoop HDFS PDF

《深度剖析Hadoop HDFS》基于Hadoop 2.7.1版本进行分析,全面描述了HDFS 2.X的核心技术与解决方案,书中描述了HDFS内存存储、异构存储等几大核心设计,包括源码细节层面的分析,对于HDFS中比较特殊的几个场景过程也做了细粒度的分析。还分享了作者在实际应用中的解决方案及扩展思路。阅读《深度剖析Hadoop HDFS》可以帮助读者从架构设计与功能实现角度了解HDFS 2.X,同时还能学习HDFS 2.X框架中优秀的设计思想、设计模式、Java语言技巧等。这些对于读者全面提高自己分布式技术水平有很大的帮助。

《深度剖析Hadoop HDFS》分为三大部分:核心设计篇、细节实现篇、解决方案篇,“核心设计篇”包括HDFS的数据存储原理、HDFS的数据管理与策略选择机制、HDFS的新颖功能特性;“细节实现篇”包括HDFS的块处理、流量处理等细节,以及部分结构分析;“解决方案篇”包括HDFS的数据管理、HDFS的数据读写、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视图文件系统:ViewFileSystem117
  • 3.1.1 ViewFileSystem: 视图文件系统118
  • 3.1.2 ViewFileSystem内部实现原理119
  • 3.1.3 ViewFileSystem的使用125
  • 3.2 HDFS的Web文件系统:WebHdfsFileSystem126
  • 3.2.1 WebHdfsFileSystem的REST API操作127
  • 3.2.2 WebHdfsFileSystem的流程调用129
  • 3.2.3 WebHdfsFileSystem执行器调用130
  • 3.2.4 WebHDFS的OAuth2认证133
  • 3.2.5 WebHDFS的使用135
  • 3.3 HDFS数据加密空间:Encryption zone136
  • 3.3.1 Encryption zone原理介绍136
  • 3.3.2 Encryption zone源码实现136
  • 3.3.3 Encryption zone的使用144
  • 3.4 HDFS纠删码技术145
  • 3.4.1 纠删码概念145
  • 3.4.2 纠删码技术的优劣势146
  • 3.4.3 Hadoop纠删码概述147
  • 3.4.4 纠删码技术在Hadoop中的实现148
  • 3.5 HDFS对象存储:Ozone152
  • 3.5.1 Ozone介绍153
  • 3.5.2 Ozone的高层级设计154
  • 3.5.3 Ozone的实现细节157
  • 3.5.4 Ozone的使用157
  • 3.6 小结158
  • 第二部分 细节实现篇
  • 第4章 HDFS的块处理160
  • 4.1 HDFS块检查命令fsck160
  • 4.1.1 fsck参数使用160
  • 4.1.2 fsck过程调用161
  • 4.1.3 fsck原理分析162
  • 4.1.4 fsck使用场景171
  • 4.2 HDFS如何检测并删除多余副本块171
  • 4.2.1 多余副本块以及发生的场景172
  • 4.2.2 OverReplication多余副本块处理172
  • 4.2.3 多余副本块清除的场景调用177
  • 4.3 HDFS数据块的汇报与处理179
  • 4.3.1 块处理的五大类型179
  • 4.3.2 toAdd:新添加的块181
  • 4.3.3 toRemove:待移除的块184
  • 4.3.4 toInvalidate:无效的块186
  • 4.3.5 toCorrupt:损坏的块189
  • 4.3.6 toUC:正在构建中的块191
  • 4.4 小结193
  • 第5章 HDFS的流量处理194
  • 5.1 HDFS的内部限流194
  • 5.1.1 数据的限流194
  • 5.1.2 DataTransferThrottler限流原理196
  • 5.1.3 数据流限流在Hadoop中的使用198
  • 5.1.4 Hadoop限流优化点202
  • 5.2 数据平衡204
  • 5.2.1 Balancer和Dispatcher204
  • 5.2.2 数据不平衡现象207
  • 5.2.3 Balancer性能优化207
  • 5.3 HDFS节点内数据平衡210
  • 5.3.1 磁盘间数据不平衡现象及问题211
  • 5.3.2 传统的磁盘间数据不平衡解决方案211
  • 5.3.3 社区解决方案:DiskBalancer212
  • 5.4 小结216
  • 第6章 HDFS的部分结构分析217
  • 6.1 HDFS镜像文件的解析与反解析217
  • 6.1.1 HDFS的FsImage镜像文件218
  • 6.1.2 FsImage的解析218
  • 6.1.3 FsImage的反解析221
  • 6.1.4 HDFS镜像文件的解析与反解析命令226
  • 6.2 DataNode数据处理中心DataXceiver227
  • 6.2.1 DataXceiver的定义和结构228
  • 6.2.2 DataXceiver下游处理方法232
  • 6.2.3 ShortCircuit232
  • 6.2.4 DataXceiver的上游调用233
  • 6.2.5 DataXceiver与DataXceiverServer234
  • 6.3 HDFS邻近信息块:BlockInfoContiguous235
  • 6.3.1 triplets对象数组236
  • 6.3.2 BlockInfoContiguous的链表操作239
  • 6.3.3 块迭代器BlockIterator244
  • 6.4 小结246
  • 第三部分 解决方案篇
  • 第7章 HDFS的数据管理248
  • 7.1 HDFS的读写限流方案248
  • 7.1.1 限流方案实现要点以及可能造成的影响248
  • 7.1.2 限流方案实现249
  • 7.1.3 限流测试结果250
  • 7.2 HDFS数据资源使用量分析以及趋势预测250
  • 7.2.1 要获取哪些数据251
  • 7.2.2 如何获取这些数据251
  • 7.2.3 怎么用这些数据254
  • 7.3 HDFS数据迁移解决方案257
  • 7.3.1 数据迁移使用场景257
  • 7.3.2 数据迁移要素考量258
  • 7.3.3 HDFS数据迁移解决方案:DistCp259
  • 7.3.4 DistCp优势特性260
  • 7.3.5 Hadoop DistCp命令264
  • 7.3.6 DistCp解决集群间数据迁移实例265
  • 7.4 DataNode迁移方案265
  • 7.4.1 迁移方案的目标266
  • 7.4.2 DataNode更换主机名、ip地址时的迁移方案267
  • 7.5 HDFS集群重命名方案268
  • 7.6 HDFS的配置管理方案271
  • 7.6.1 HDFS配置管理的问题271
  • 7.6.2 现有配置管理工具272
  • 7.6.3 运用Git来做配置管理272
  • 7.7 小结273
  • 第8章 HDFS的数据读写274
  • 8.1 DataNode引用计数磁盘选择策略274
  • 8.1.1 HDFS现有磁盘选择策略274
  • 8.1.2 自定义磁盘选择策略279
  • 8.2 Hadoop节点“慢磁盘”监控282
  • 8.2.1 慢磁盘的定义以及如何发现282
  • 8.2.2 慢磁盘监控284
  • 8.3 小结287
  • 第9章 HDFS的异常场景288
  • 9.1 DataNode慢启动问题288
  • 9.1.1 DataNode慢启动现象288
  • 9.1.2 代码追踪分析290
  • 9.1.3 参数可配置化改造293
  • 9.2 Hadoop中止下线操作后大量剩余复制块问题295
  • 9.2.1 节点下线操作的含义及问题295
  • 9.2.2 死节点“复活”297
  • 9.2.3 Decommission下线操作如何运作299
  • 9.2.4 中止下线操作后移除残余副本块解决方案303
  • 9.3 DFSOutputStream的DataStreamer线程泄漏问题306
  • 9.3.1 DFSOutputStream写数据过程及周边相关类、变量306
  • 9.3.2 DataStreamer数据流对象307
  • 9.3.3 ResponseProcessor回复获取类311
  • 9.3.4 DataStreamer与DFSOutputStream的关系313
  • 9.3.5 Streamer线程泄漏问题316
  • 9.4 小结319
  • 附录 如何向开源社区提交自己的代码320

资源下载

资源下载地址1:https://pan.baidu.com/s/1TIVgPAsjFRzYCtWklB5emQ

相关资源

网友留言