《大数据技术丛书 深度剖析Hadoop HDFS》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:林意群著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:7111562078
  • 页数:324 页
图书介绍:

第一部分 核心设计篇 2

第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.1.1 ViewFileSystem:视图文件系统 118

3.1.2 ViewFileSystem内部实现原理 119

3.1.3 ViewFileSystem的使用 125

3.2 HDFS的Web文件系统:WebHdfsFileSystem 126

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 zone 136

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对象存储:Ozone 152

3.5.1 Ozone介绍 153

3.5.2 Ozone的高层级设计 154

3.5.3 Ozone的实现细节 157

3.5.4 Ozone的使用 157

3.6 小结 158

第二部分 细节实现篇 160

第4章 HDFS的块处理 160

4.1 HDFS块检查命令fsck 160

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和Dispatcher 204

5.2.2 数据不平衡现象 207

5.2.3 Balancer性能优化 207

5.3 HDFS节点内数据平衡 210

5.3.1 磁盘间数据不平衡现象及问题 211

5.3.2 传统的磁盘间数据不平衡解决方案 211

5.3.3 社区解决方案:DiskBalancer 212

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数据处理中心DataXceiver 227

6.2.1 DataXceiver的定义和结构 228

6.2.2 DataXceiver下游处理方法 232

6.2.3 ShortCircuit 232

6.2.4 DataXceiver的上游调用 233

6.2.5 DataXceiver与DataXceiverServer 234

6.3 HDFS邻近信息块:BlockInfoContiguous 235

6.3.1 triplets对象数组 236

6.3.2 BlockInfoContiguous的链表操作 239

6.3.3 块迭代器B1ockIterator 244

6.4 小结 246

第三部分 解决方案篇 248

第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数据迁移解决方案:DistCp 259

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