没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
15页
HDFS(Hadoop Distributed File System)是一种运行在商用硬件上的分 布式文件系统。它与其它现有的文件系统有许多相似之处,但是其差 异才是 HDFS 的重要之处。HDFS 是被设计成运行在廉价硬件上并具有 高容错率的文件系统,它为应用程序数据提供了很高的吞吐量,适合 处理大量数据的应用程序。HDFS 放宽了一些 POSIX 规定的要求以适 合对文件系统数据的流访问。HDFS 最初是作为 Apache 的 Nutch 网站 搜索引擎项目的基础设施而建立的,现在成了 Apache 的 HDFS 项目。 这个项目的相关内容的连接为:http://hadoop.apache.org/hdfs/
资源推荐
资源详情
资源评论
HDFS 文件系统
译自 hadoop.apache.org/common/docs/current/hdfs_design.html
廖楠晓
2012.1.2
介绍
HDFS(Hadoop Distributed File System)是一种运行在商用硬件上的分
布式文件系统。它与其它现有的文件系统有许多相似之处,但是其差
异才是 HDFS 的重要之处。HDFS 是被设计成运行在廉价硬件上并具有
高容错率的文件系统,它为应用程序数据提供了很高的吞吐量,适合
处理大量数据的应用程序。HDFS 放宽了一些 POSIX 规定的要求以适
合对文件系统数据的流访问。HDFS 最初是作为 Apache 的 Nutch 网站
搜索引擎项目的基础设施而建立的,现在成了 Apache 的 HDFS 项目。
这个项目的相关内容的连接为:http://hadoop.apache.org/hdfs/。
设想与目标
硬件差错
应该说硬件差错是正常现象而不是异常现象。一个 HDFS 实例是成百
上千个服务机构成的,其中每一个都存放部分的文件系统数据,由于
系统中有大量的组件,而每一个组件都会有不可忽视的出错概率,这
个事实意味着 HDFS 系统中总会有不能正常工作的。因此错误的检测
与快速自动恢复 HDFS 的核心构架目标。
流数据访问
运行在 HDFS 上的数据对它们的时间集有流访问权限,它们不是一般
地运行在普通目的的文件系统上一般应用程序。HDFS 是被设计用来
批处理而不是给用户交互式的使用的。因此这就要求强调 HDFS 必须
是高吞吐量的,而不是数据访问的低延迟。在 POSIX 里规定的许多硬
件需求对于以 HDFS 文件系统目标的应用程序来说是不必要的。因此
作为一种平衡式的交换,POSIX 中的一些关键领域里的要求被放弃了,
以便增加数据的吞吐率。
大数据集
在 HDFS 上运行的程序一般都有大量的数据集,在 HDFS 中一个典型
的文件有几个 GB 到几个 TB(1000GB)的大小,因此支持大文件。在一
个集群中,它应该提供很高的聚集数据的带宽并具有数千个节点。
简单的相关模型
HDFS 的程序要有对文件的一次写多次读的访问模型。一个文件一旦
创建,写入了数据并关闭了就无需更改,这种设想简化了数据的相关
问题并使得系统有很高的数据吞吐量。一个 MapReduce 应用程序或
网络搜索器程序与完全符合这种模式。有计划在未来可以支持对文件
进行增量写入。
“移动运算比移动数据更便宜”
程序所要求的运算在靠近数据的地方执行效率要高得多,特别是当数
据集很大的时候更是如此。这样可以把网络阻塞降到最低,并增加系
统总的吞吐量。所有尽量在离程序的数据最近的地方执行运算,而不
是要把数据传输到远端执行运算。HDFS 为程序提供了一个把程序移
到靠近数据的位置的接口。
跨越软硬件平台的便利性(可移植性)
HDFS 已经被设计成了从一个平台到另一个平台易于移植的文件系统。
这促进了 HDFS 作为大量应用程序选择平台大规模地采用。
命名节点(NameNode)与数据节点(DataNodes)
HDFS 采用了 master/slave 的架构。一个 HDFS 是由一个管理文件系统
命名空间和规范用户访问数据的服务节点(NameNode)和大量管理隶
属于本节点的数据存储的 DataNode(一般在集群中每个节点一个
DataNode)。 HDFS 公开一个文件系统的命名空间,并允许用户数据存
储在文件里,就内部来说,一个文件被分成一个或多个块,这些块被
存储在多个 DataNode 里。NameNode 执行文件系统命名操作如打开,
关闭文件和重命名文件和目录,它也决定块对 DataNode 的映射。
DataNode 负责对文件系统用户的读和写的请求提供服务。在
NameNode 的指令下 DataNode 也完成块的创建,删除和复制。
NameNode 和 DataNode 都是以个个被设计运行在商用电脑上的软件,
这些电脑一般运行在 GNU/Linux 操作系统上。HDFS 是用 Java 写的,
剩余14页未读,继续阅读
资源评论
小小哭包
- 粉丝: 1899
- 资源: 3854
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功