您好,欢迎来到聚文网。 登录 免费注册
HADOOP技术内幕

HADOOP技术内幕

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: 蔡斌 等 著
  • 出版日期: 2013-05-01
  • 商品条码: 9787111417668
  • 版次: 1
  • 开本: 其他
  • 页数: 512
  • 出版年份: 2013
定价:¥89 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
“Hadoop技术内幕”共两册,分别从源代码的角度对“Common+HDFS”和MapReduce的架构设计与实现原理进行了极为详细的分析。本书由腾讯数据平台的资深Hadoop专家、X-RIME的作者亲自执笔,对Common和HDFS的源代码进行了分析,旨在为Hadoop的优化、定制和扩展提供原理性的指导。除此之外,本书还从源代码实现中对分布式技术的精髓、分布式系统设计的优秀思想和方法,以及Java语言的编码技巧、编程规范和对设计模式的精妙运用进行了总结和分析,对提高读者的分布式技术能力和Java编程能力都非常有帮助。本书适合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

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网