您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页Hadoop Distributed File System 简介

Hadoop Distributed File System 简介

来源:纷纭教育

HDFS 是一个 Apache Software Foundation 项目,是 Apache Hadoop 项目的一个子项目(参见 )。Hadoop 非常适于存储大型数据(比如 terabytes 和 petabytes),并使用 HDFS 作为其存储系统。HDFS 允许您连接多个集群中包含的节点 (普通个人计算机),那些集群上分布着一些数据文件。然后您可以将那些数据文件作为一个无缝文件系统来进行访问和存储。对数据文件的访问通过一种流线型(streaming) 方式进行处理,这意味着应用程序或命令通过 MapReduce 处理模型直接执行(参见 )。

HDFS 是容错的,且提供对大数据集的高吞吐量访问。本文探索 HDFS 的主要特性,并提供一个高级 HDFS 架构视图。

HDFS 与其他分布式文件系统有许多相似点,但也有几个不同点。一个明显的区别是 HDFS 的 “一次写入、多次读取(write-once-read-many)” 模型,该模型降低了并发性控制要求,简化了数据聚合性,支持高吞吐量访问。

HDFS 的另一个独特的特性是下面这个观点:将处理逻辑放置到数据附近通常比将数据移向应用程序空间更好。

HDFS 将数据写入严格为一次一个写入程序。字节总是被附加到一个流的末尾,字节流总是以写入顺序存储。

HDFS 有许多目标,下面是一些最明显的目标:

  • 通过检测故障和应用快速、自动的恢复实现容错性
  • 通过 MapReduce 流进行数据访问
  • 简单可靠的聚合模型
  • 处理逻辑接近数据,而不是数据接近处理逻辑
  • 跨异构普通硬件和操作系统的可移植性
  • 可靠存储和处理大量数据的可伸缩性
  • 通过跨多个普通个人计算机集群分布数据和处理来节约成本
  • 通过分布数据和逻辑到数据所在的多个节点上进行平行处理来提高效率
  • 通过自动维护多个数据副本和在故障发生时自动重新部署处理逻辑来实现可靠性

HDFS 向应用程序提供一些接口,将它们移到更靠近数据所在的位置,下一小节将详细介绍这一点。

您可以以多种不同的方法访问 HDFS。HDFS 提供了一个原生 Java™ 应用程序编程接口(API)和一个针对这个 Java API 的原生 C 语言封装器。另外,您可以使用一个 web 浏览器来浏览 HDFS 文件。

 中描述的应用程序也可用于 HDFS 的接口。



应用程序说明
FileSystem (FS) shell一个命令行接口,类似于常见的 Linux® 和 UNIX® shells(bash、csh,等等),支持与 HDFS 数据进行交互。
DFSAdmin可用于管理一个 HDFS 集群的命令集。
fsckHadoop 命令/应用程序的一个子命令。可以使用 fsck 命令来检查文件的不一致(比如缺失块),但不能使用 fsck 命令更正这些不一致。
Name node 和 Data node这些节点拥有内置 web 服务器,允许管理员检查集群的当前状态。

HDFS 拥有一个功能强大的杰出特性集,这要归功于它的简单但强大的架构。

 展示了 HDFS 的高级架构。



转载于:https://www.cnblogs.com/menghe/archive/2012/01/27/2330248.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务