当前位置:首页 > 工业技术
Hadoop技术内幕  深入解析Hadoop Common和HDFS架构设计与实现原理
Hadoop技术内幕  深入解析Hadoop Common和HDFS架构设计与实现原理

Hadoop技术内幕 深入解析Hadoop Common和HDFS架构设计与实现原理PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:蔡斌,陈湘萍著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111417668
  • 页数:512 页
图书介绍:本书由业界拥有10余年开发经验的Java专家亲自执笔,权威性毋庸置疑。全书以介绍Hadoop的基础架构和源代码实现结构开篇,深入透彻地剖析了Hadoop最重要的两个组成部分:Hadoop分布式文件系统和Map/Reduce数据处理框架。其中HDFS实现篇从分布式文件系统的角度出发,分析了HDFS的名字节点,数据节点和HDFS客户端,完整地介绍了一个大规模数据存储系统的实现。Map/Reduce实现篇在介绍Map/Reduce API的基础上,对作业节点,任务节点和客户端进行了剖析,充分地介绍了Hadoop如何实现Map/Reduce的设计目标。通过本书,读者不仅能全面了解Hadoop框架的优秀架构和设计思想,而且还能从Hadoop优雅的实现源码中一窥Java开发的精髓和分布式系统的精要。无论读者是一般的Java极其相关技术开发者,还是Hadoop应用开发者,抑或是平台开发人员和架构师,都能从本书中受益。
《Hadoop技术内幕 深入解析Hadoop Common和HDFS架构设计与实现原理》目录

第一部分 环境准备 2

第1章 源代码环境准备 2

1.1什么是Hadoop 2

1.1.1 Hadoop简史 2

1.1.2 Hadoop的优势 3

1.1.3 Hadoop生态系统 4

1.2准备源代码阅读环境 8

1.2.1安装与配置JDK 8

1.2.2安装Eclipse 9

1.2.3安装辅助工具Ant 12

1.2.4安装类UNIX Shell环境Cygwin 13

1.3准备Hadoop源代码 15

1.3.1下载Hadoop 15

1.3.2创建Eclipse项目 16

1.3.3 Hadoop源代码组织 18

1.4小结 19

第二部分 Common的实现 22

第2章Hadoop配置信息处理 22

2.1配置文件简介 22

2.1.1 Windows操作系统的配置文件 22

2.1.2 Java配置文件 23

2.2 Hadoop Configuration详解 24

2.2.1 Hadoop配置文件的格式 24

2.2.2 Configuration的成员变量 26

2.2.3资源加载 27

2.2.4使用get 和set 访问/设置配置项 32

2.3 Configurable接口 34

2.4小结 35

第3章 序列化与压缩 36

3.1序列化 36

3.1.1 Java内建序列化机制 36

3.1.2 Hadoop序列化机制 38

3.1.3 Hadoop序列化机制的特征 39

3.1.4 Hadoop Writable机制 39

3.1.5典型的Writable类详解 41

3.1.6 Hadoop序列化框架 48

3.2压缩 49

3.2.1 Hadoop压缩简介 50

3.2.2 Hadoop压缩API应用实例 51

3.2.3 Hadoop压缩框架 52

3.2.4 Java本地方法 61

3.2.5支持Snappy压缩 65

3.3小结 69

第4章Hadoop远程过程调用 70

4.1远程过程调用基础知识 70

4.1.1 RPC原理 70

4.1.2 RPC机制的实现 72

4.1.3 Java远程方法调用 73

4.2 Java动态代理 78

4.2.1创建代理接口 78

4.2.2调用转发 80

4.2.3动态代理实例 81

4.3 Java NIO 84

4.3.1 Java基本套接字 84

4.3.2 Java NIO基础 86

4.3.3 Java NIO实例:回显服务器 93

4.4 Hadoop中的远程过程调用 96

4.4.1利用Hadoop IPC构建简单的分布式系统 96

4.4.2 Hadoop IPC的代码结构 100

4.5 Hadoop IPC连接相关过程 104

4.5.1 IPC连接成员变量 104

4.5.2建立IP C连接 106

4.5.3数据分帧和读写 111

4.5.4维护IPC连接 114

4.5.5关闭IPC连接 116

4.6 Hadoop IPC方法调用相关过程 118

4.6.1 Java接口与接口体 119

4.6.2 IPC方法调用成员变量 121

4.6.3客户端方法调用过程 123

4.6.4服务器端方法调用过程 126

4.7 Hadoop IPC上的其他辅助过程 135

4.7.1 RPC.getProxy()和RPC.stopProxy() 136

4.7.2 RPC.getServer()和Server的启停 138

4.8小结 141

第5章Hadoop文件系统 142

5.1文件系统 142

5.1.1文件系统的用户界面 142

5.1.2文件系统的实现 145

5.1.3文件系统的保护控制 147

5.2 Linux文件系统 150

5.2.1 Linux本地文件系统 150

5.2.2虚拟文件系统 153

5.2.3 Linux文件保护机制 154

5.2.4 Linux文件系统API 155

5.3分布式文件系统 159

5.3.1分布式文件系统的特性 159

5.3.2基本NFS体系结构 160

5.3.3 NFS支持的文件操作 160

5.4 Java文件系统 162

5.4.1 Java文件系统API 162

5.4.2 URI和URL 164

5.4.3 Java输入/输出流 166

5.4.4随机存取文件 169

5.5 Hadoop抽象文件系统 170

5.5.1 Hadoop文件系统API 170

5.5.2 Hadoop输入/输出流 175

5.5.3 Hadoop文件系统中的权限 179

5.5.4抽象文件系统中的静态方法 180

5.5.5 Hadoop文件系统中的协议处理器 184

5.6 Hadoop具体文件系统 188

5.6.1 FileSystem层次结构 189

5.6.2 RawLocalFileSystem的实现 191

5.6.3 Checksum File System的实现 196

5.6.4 RawInMemoryFileSystem的实现 210

5.7小结 213

第三部分 Hadoop分布式文件系统 216

第6章HDFS概述 216

6.1初识HDFS 216

6.1.1 HDFS主要特性 216

6.1.2 HDFS体系结构 217

6.1.3 HDFS源代码结构 221

6.2基于远程过程调用的接口 223

6.2.1与客户端相关的接口 224

6.2.2 HDFS各服务器间的接口 236

6.3非远程过程调用接口 244

6.3.1数据节点上的非IPC接口 245

6.3.2名字节点和第二名字节点上的非IPC接口 252

6.4 HDFS主要流程 254

6.4.1客户端到名字节点的文件与目录操作 254

6.4.2客户端读文件 256

6.4.3客户端写文件 257

6.4.4数据节点的启动和心跳 258

6.4.5第二名字节点合并元数据 259

6.5小结 261

第7章 数据节点实现 263

7.1数据块存储 263

7.1.1数据节&点的磁盘目录文件结构 263

7.1.2数据节点存储的实现 266

7.1.3数据节点升级 269

7.1.4文件系统数据集的工作机制 276

7.2流式接口的实现 285

7.2.1 DataXceiverServer和DataXceiver 286

7.2.2读数据 289

7.2.3写数据 298

7.2.4数据块替换、数据块拷贝和读数据块检验信息 313

7.3作为整体的数据节点 314

7.3.1数据节点和名字节点的交互 314

7.3.2数据块扫描器 319

7.3.3数据节点的启停 321

7.4小结 326

第8章 名字节点实现 327

8.1文件系统的目录树 327

8.1.1从i-node到INode 327

8.1.2命名空间镜像和编辑日志 333

8.1.3第二名字节点 351

8.1.4 FSDirectory的实现 361

8.2数据块和数据节点管理 365

8.2.1数据结构 366

8.2.2数据节点管理 378

8.2.3数据块管理 392

8.3远程接口ClientProtocol的实现 412

8.3.1文件和目录相关事务 412

8.3.2读数据使用的方法 415

8.3.3写数据使用的方法 419

8.3.4工具dfsadmin依赖的方法 443

8.4名字节点的启动和停止 444

8.4.1安全模式 444

8.4.2名字节点的启动 449

8.4.3名字节点的停止 454

8.5小结 454

第9章HDFS客户端 455

9.1认识DFSClient 455

9.1.1 DFSClient的构造和关闭 455

9.1.2文件和目录、系统管理相关事务 457

9.1.3删除HDFS文件/目录的流程 459

9.2输入流 461

9.2.1读数据前的准备:打开文件 463

9.2.2读数据 465

9.2.3关闭输入流 475

9.2.4读取HDFS文件数据的流程 475

9.3输出流 478

9.3.1写数据前的准备:创建文件 481

9.3.2写数据:数据流管道的建立 482

9.3.3写数据:数据包的发送 486

9.3.4写数据:数据流管道出错处理 493

9.3.5写数据:租约更新 496

9.3.6写数据:DFSOutputStream&sync()的作用 497

9.3.7关闭输出流 499

9.3.8向HDFS文件写入数据的流程 500

9.4 DistributedFileSystem的实现 506

9.5 HDFS常用工具 508

9.5.1 FsShell 508

9.5.2 DFSAdmin 510

9.6小结 511

相关图书
作者其它书籍
返回顶部