- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
卷1 :第8章 HDFS ——Hadoop分布式⽂件系统
Hadoop分布式⽂件系统 (HDFS )的设计主旨,在于对超⼤规模数据集提供可靠的存
储 能,并对⽤户应⽤程序提供⾼带宽的输⼊输出数据流。在⼤型的集群⾥,上千台
服务器均可直接参与到数据存储和应⽤程序任务执⾏。通过多服务器,分布式的存储
和计算,计算资源的规模能够按照需要增长,并兼顾在各种规模上经济适⽤性。 本⽂
主要描述了HDFS的架构,并以Yahoo !企业数据服务为例,介绍了如何使⽤HDFS系统
管理⾼达4O PB规模的数据库的经验。
8.1 介绍
Hadoop采⽤MapReduce范式[DG04]进⾏设计,提供了⼀套分布式⽂件系统和框架,⽤
以对超⼤规模的数据集进⾏分析和变换。HDFS的接⼜沿袭了Unix⽂件系统的设计模
式,但在其基础上做出了改进,以提⾼在实际应⽤中的访问性能。
Hapoop所具有⼀个重要特点,就是把数据和运算分开,并将⼆者分布存放在数以千计
的服务器主机上,应⽤程序计算以及相关数据都以并⾏⽅式处理。⼀个Hadoop集群可
以仅仅通过增加普通服务器的⽅式,来扩展其运算、存储和I/O带宽的规模。Yahoo所
使⽤的Hadoop集群组,共包含40 000 台服务器,存储并处理多达40 PB(1 Petabytes =
1000000000000000 字节)的应⽤数据,其中最⼤的单个集群,使⽤多达4000个服务
器。此外,在世界范围内,还有100多家其他的组织和机构表⽰,他们也使⽤Hadoop
来进⾏数据存储和处理。
HDFS将⽂件系统元数据(File System Metadata)和应⽤数据 (Application Data )分离存
放。与其他种类的分布式⽂件系统类似,例如PVFS[CIRT00] , Lustre2 , 以及
GFS[GGL03] ,HDFS将元数据存放在专⽤服务器上,该服务器称为“NameNode” (名
称节点);应⽤数据被存放在其他的服务器上,这些服务器称为“DataNode” (数据节
点)。在该分布式系统中,各个服务器之间均通过⽹络连接,确保节点之间可以通过
基于TCP族的协议进⾏相互通信。HDFS不像Lustre或者PVFS ,它并不依赖于数据保护
机制 (例如RAID )来确保数据的稳定性,⽽是像GFS那样,在多个DataNode节点上保
存数据的多个副本,以此来确保数据的稳定。采⽤这样的策略,其好处不仅仅在于数
据安全⽅⾯,在数据传输带宽⽅⾯,由于⼀个数据有多个副本,因此可以通过多线程
访问倍速提⾼带宽 (就像迅雷下载的原理⼀样——译者注),并且采⽤此种⽅式还可
以提⾼从较近的服务器节点上获取数据的⼏率。
8.2 架构
8.2.1 NameNode (名称节点)
HDFS命名空间采⽤层次化 (树状——译者注)的结构存放⽂件和⽬录。⽂件和⽬录
⽤NameNode上的inodes表⽰。Inode记录了权限,修改和访问时间,命名空间,磁盘
容量等属性。⽂件内容会被分成不同的“⼤块” (典型分块策略是每块128M ,不过⽤户
可以对每个⽂件的分块⼤⼩进⾏选择)。NameNode负责维护命名空间树以及与
DataNode上⽂件分块的映射关系。⽬前采⽤的设计结构是,没⼀个集群只有⼀个
NameNode ⼀个NameNode可以对应多个DataNode 以及成千上万的HDFS客户端。⼀个
DataNode可以同步执⾏多个应⽤任务。
8.2.2 映像和⽇志
Inode和定义metadata的系统⽂件块列表统称为Image(映像) . NameNode将整个命名空间
映像保存在RAM 中。⽽映像的持久化记录则保存在NameNode的本地⽂件系统中,该
持久化记录被称为Checkpoint(检查点) 。NameNode还会记录HDFS 中写⼊的操作,并
将其存⼊⼀个记录⽂件,存放在本地⽂件系统中,这个记录⽂件被叫做Journal( ⽇
志) 。存放块位置的副本不属于持久化检查点(persistent checkpoint)的⼀个部分。 每个
客户端发起的事务都会被记录到⽇志⾥,然后⽇志⽂件会被刷新和同步,再发送回客
户端。NameNode上的检查点⽂件 (Checkpoint file )⼀旦⽣成,就不允许再修改。如
果NameNode重启,在系统管理员的要求下,或者根据CheckpointNode的定义 (下章介
绍),可以⽣成⼀个新的⽂件记录ch
原创力文档


文档评论(0)