kindle电子书

资源下载,尽在我的书库!
首页 > kindle电子书库 > 工业|计算机|互联网 > 电子、计算机、网络

Hadoop 技术内幕:深入解析Hadoop Common 和HDFS 架构设计与实现原理

  • 作者: 多作者
  • 体积:17.92 MB
  • 语言:中文
  • 日期:2019-03-06
  • 推荐:

简介: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各节点间的配合,完整地介绍了一个大规模数据存储系统的实现。

编辑推荐

《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》编辑推荐:腾讯资深Hadoop技术专家撰写,EasyHadoop和51CTO等专业技术社区联袂推荐!从源代码角度深入分析Common和HDFS的架构设计与实现原理,为Hadoop的优化、定制和扩展提供原理性指导。从源代码中参透分布式技术精髓和分布式系统设计的优秀思想和方法。

作者简介

蔡斌,资深Hadoop技术专家,基于Hadoop的开源项目X-RIME的作者之一。国内Hadoop应用和源代码研究领域的先驱之一,有10余年开发经验,先后任职于朗讯科技、IBM中国研究院等国内外知名企业,目前担任腾讯数据平台部的高级工程师,从事Hadoop相关技术的研究、应用和实施,实战经验非常丰富。对分布式计算、电信增值业务、网络管理等领域有深刻的认识和理解,拥有近10项发明专利,其中两项为美国专利,大部分与海量数据处理相关。近期关注海量数据的流式处理、Hadoop上的大数据应用与挖掘等。
陈湘萍,北京大学计算机系博士,目前就职于中山大学,专注于Hadoop、云计算、软件中间件、模型驱动的软件工程等技术的研究和实践。拥有发明专利5项,参与1项国家电子行业标准的制定,发表学术论文10余篇。

 

目录

前言
第一部分 环境准备
第1章 源代码环境准备 2
1.1什么是Hadoop 2
1.1.1Hadoop简史 2
1.1.2Hadoop的优势 3
1.1.3Hadoop生态系统 4
1.2准备源代码阅读环境 8
1.2.1安装与配置JDK 8
1.2.2安装Eclipse 9
1.2.3安装辅助工具Ant 12
1.2.4安装类UNIXShell环境Cygwin 13
1.3准备Hadoop源代码 15
1.3.1下载Hadoop 15
1.3.2创建Eclipse项目 16
1.3.3Hadoop源代码组织 18
1.4小结 19
第二部分 Common的实现
第2章 Hadoop配置信息处理 22
2.1配置文件简介 22
2.1.1Windows操作系统的配置文件 22
2.1.2Java配置文件 23
2.2HadoopConfiguration详解 24
2.2.1Hadoop配置文件的格式 24
2.2.2Configuration的成员变量 26
2.2.3资源加载 27
2.2.4使用get*和set*访问 设置配置项 32
2.3Configurable接口 34
2.4小结 35
第3章 序列化与压缩 36
3.1序列化 36
3.1.1Java内建序列化机制 36
3.1.2Hadoop序列化机制 38
3.1.3Hadoop序列化机制的特征 39
3.1.4HadoopWritable机制 39
3.1.5典型的Writable类详解 41
3.1.6Hadoop序列化框架 48
3.2压缩 49
3.2.1Hadoop压缩简介 50
3.2.2Hadoop压缩API应用实例 51
3.2.3Hadoop压缩框架 52
3.2.4Java本地方法 61
3.2.5支持Snappy压缩 65
3.3小结 69
第4章 Hadoop远程过程调用 70
4.1远程过程调用基础知识 70
4.1.1RPC原理 70
4.1.2RPC机制的实现 72
4.1.3Java远程方法调用 73
4.2Java动态代理 78
4.2.1创建代理接口 78
4.2.2调用转发 80
4.2.3动态代理实例 81
4.3JavaNIO 84
4.3.1Java基本套接字 84
4.3.2JavaNIO基础 86
4.3.3JavaNIO实例:回显服务器 93
4.4Hadoop中的远程过程调用 96
4.4.1利用HadoopIPC构建简单的分布式系统 96
4.4.2HadoopIPC的代码结构 100
4.5HadoopIPC连接相关过程 104
4.5.1IPC连接成员变量 104
4.5.2建立IPC连接 106
4.5.3数据分帧和读写 111
4.5.4维护IPC连接 114
4.5.5关闭IPC连接 116
4.6HadoopIPC方法调用相关过程 118
4.6.1Java接口与接口体 119
4.6.2IPC方法调用成员变量 121
4.6.3客户端方法调用过程 123
4.6.4服务器端方法调用过程 126
4.7HadoopIPC上的其他辅助过程 135
4.7.1RPC.getProxy()和RPC.stopProxy() 136
4.7.2RPC.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.2Linux文件系统 150
5.2.1Linux本地文件系统 150
5.2.2虚拟文件系统 153
5.2.3Linux文件保护机制 154
5.2.4Linux文件系统API 155
5.3分布式文件系统 159
5.3.1分布式文件系统的特性 159
5.3.2基本NFS体系结构 160
5.3.3NFS支持的文件操作 160
5.4Java文件系统 162
5.4.1Java文件系统API 162
5.4.2URI和URL 164
5.4.3Java输入 输出流 166
5.4.4随机存取文件 169
5.5Hadoop抽象文件系统 170
5.5.1Hadoop文件系统API 170
5.5.2Hadoop输入 输出流 175
5.5.3Hadoop文件系统中的权限 179
5.5.4抽象文件系统中的静态方法 180
5.5.5Hadoop文件系统中的协议处理器 184
5.6Hadoop具体文件系统 188
5.6.1FileSystem层次结构 189
5.6.2RawLocalFileSystem的实现 191
5.6.3ChecksumFileSystem的实现 196
5.6.4RawInMemoryFileSystem的实现 210
5.7小结 213
第三部分 Hadoop分布式文件系统
第6章 HDFS概述 216
6.1初识HDFS 216
6.1.1HDFS主要特性 216
6.1.2HDFS体系结构 217
6.1.3HDFS源代码结构 221
6.2基于远程过程调用的接口 223
6.2.1与客户端相关的接口 224
6.2.2HDFS各服务器间的接口 236
6.3非远程过程调用接口 244
6.3.1数据节点上的非IPC接口 245
6.3.2名字节点和第二名字节点上的非IPC接口 252
6.4HDFS主要流程 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.1DataXceiverServer和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.4FSDirectory的实现 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.1DFSClient的构造和关闭 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.4DistributedFileSystem的实现 506
9.5HDFS常用工具 508
9.5.1FsShell 508
9.5.2DFSAdmin 510
9.6小结 511

我来说两句

本书评论

共有 0 条评论
图书分类
我的书库手机端
帮助中心
会员登录 ×
新用户注册 ×