广告已过期!
详情 评论 声明
商品详情

资源名称:Hadoop技术内幕_深入解析HADOOP_COMMON和HDFS架构设计与实现原理


内容简介:

《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》内容简介:“Hadoop技术内幕”共两册,分别从源代码的角度对“Common+HDFS”和MapReduce的架构设计与实现原理进行了极为详细的分析。《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》由腾讯数据平台的资深Hadoop专家、X-RIME的作者亲自执笔,对Common和HDFS的源代码进行了分析,旨在为Hadoop的优化、定制和扩展提供原理性的指导。除此之外,《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》还从源代码实现中对分布式技术的精髓、分布式系统设计的优秀思想和方法,以及Java语言的编码技巧、编程规范和对设计模式的精妙运用进行了总结和分析,对提高读者的分布式技术能力和Java编程能力都非常有帮助。《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》适合Hadoop的二次开发人员、应用开发工程师、运维工程师阅读。

全书共9章,分为三部分:第一部分(第1章)主要介绍了Hadoop源代码的获取和源代码阅读环境的搭建;第二部分(第2~5章)对Hadoop公共工具Common的架构设计和实现原理进行了深入分析,包含Hadoop的配置信息处理、面向海量数据处理的序列化和压缩机制、Hadoop的远程过程调用,以及满足Hadoop上各类应用访问数据的Hadoop抽象文件系统和部分具体文件系统等内容;第三部分(第6~9章)对Hadoop的分布式文件系统HDFS的架构设计和实现原理进行了详细的分析,这部分内容采用了总分总的结构,第6章对HDFS的各个实体和实体间接口进行了分析;第7章和第8章分别详细地研究了数据节点和名字节点的实现原理,并通过第9章对客户端的解析,回顾了HDFS各节点间的配合,完整地介绍了一个大规模数据存储系统的实现。


资源目录:

前 言

第一部分 环境准备

第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的实现

第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 建立IPC连接/ 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 ChecksumFileSystem的实现/ 196

5.6.4 RawInMemoryFileSystem的实现/ 210

5.7 小结/ 213

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

第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


资源截图:

1.png

声明

1、链接失效请联系客服人员。
2、资源均来源于网友分享及网络公开发表文件,所有资料仅供学习交流。
3、如侵犯您的权益,请联系客服人员,我们将会在第一时间进行处理。

评论区

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
相关推荐