HDFS概述

来源:互联网 发布:Linux持续ping命令 编辑:程序博客网 时间:2024/06/07 00:20

1、HDFS设计为部署在廉价硬件上,它具有容错强的功能,它比较适合海量数据集的应用程序,用来存储海量数据,为应用程序提供高的吞吐量。


HDFS的设计前提和目标:
1)硬件故障
      硬件故障是正常的,而不是异常的。HDFS由成百上千服务器组成,每个都存储着文件系统的一部分数据。事实上,这集群中就会有大量的组件 ,而每个组件出故障的可能性都很大,这意味着HDFS总有一些组件是不能工作的。因此,检测错误并快速自动恢复就成了HDFS的核心设计目标。
2)流式数据访问
       运行在HDFS上的应用程序需要流式地访问它们的数据集,它们是为了那些批量处理而设计的,而不是为普通用户的交互使用。因此HDFS强调的是数据访问的高吞吐量,而不是数据访问的低反应时间。
3)大规模数据集
       运行在HDFS上的应用程序使用大数据集。HDFS一个典型的文件可能是几GB或者几TB。因此,HDFS适用于大文件。这将提供高集成宽带,并在一个或几个集群中提供上百个节点。
4)简单一致性模型
       HDFS的应用程序需要对文件实行一次性写、多次读的访问模式。文件一旦建立,写入和关闭之后就需要再更改了。这样的一次性写入简化了数据一致性问题,并使数据吞吐量成为可能。MapReduce程序或者网络爬虫程序就很适合使用这样的模型。
5)移动计算环境比移动数据划算
      对大文件来说,移动计算比移动数据的代价更低。如果就在数据的旁边执行对这些数据的操作,那么效率就会比较高。当文件特别大的时候效果更加明显,这样可以减少网络的拥塞和提高系统的吞吐量,这就意味着把计算迁移到数据存储的近处更好,而不是把数据传输到程序运行的地方。
      HDFS提供了程序接口,以便让程序自己移动到数据存储的地方执行。
6)跨硬件和软件平台的移动
      HDFS设计是为了方便从一个平台移动到另一个平台,这有助于HDFS被作为一个大程序集合的工作平台。
   
2、HDFS的基本概念
     1)数据块
      HDFS默认最基本的存储单位是64MB的数据块。和普通文件系统相同的是,HDFS中的文件是被分成大小为64MB一块的数据块存储的。不同于普通文件系统的是,在HDFS中如果一个文件小于一个数据块的大小,那么该文件将不占用整个数据块存储空间。
     2)元数据节点和数据节点

      元数据节点的作用是管理文件系统的命名空间,并将所有的文件和文件夹的元数据保存在一个文件系统树中,这些信息同时也会在硬盘上保存下来,采用文件命名空间镜像及修改日志方式来保存。除了保存这些信息外,它还保存了一个文件,该文件信息中包括哪些数据块,以及这些数据块分布在哪些数据节点上。但是这些信息并不存储在硬盘上,而是在系统启动的时候从数据节点收集而成。

      数据节点是文件系统真正存储数据的地方。客户端或者元数据信息可以向数据节点请求写入或者读出数据块。数据节点周期性地向元数据节点回报其存储的数据块信息。
     3)从元数据节点
      从元数据节点并不是元数据节点出现问题时的备用节点,它和元数据节点负责不同的事情。其主要功能就是周期性地将元数据节点的命名空间镜像文件和修改日志文件,以防日志文件过大。合并过后的命名空间镜像文件也在从元数据节点保存了一份,以防元数据节点失败的时候可以恢复。
     4)文件系统的名字空间
        HDFS支持传统的文件组织体系统结构,用户或者程序可以创建目录,并在目录中存储文件。名字空间的结构和大多现有文件系统类似。用户可以创建删除文件,把文件从一个目录移动到另一个目录,或者重命名文件。HDFS还没有实现用户配额和访问权限控制,也不支持硬连接和软连接。
      
3、HDFS的保障可靠性措施
       HDFS的主要设计目标之一就是在故障情况下也能保证数据存储的可靠性。HDFS具备了完整的冗余备份和恢复机制,可以实现在集群中可靠地存储海量文件。
     1)机柜意识
       通常大型HDFS集群跨多个安装点(机柜)排列。一个安装中的不同节点之间的网络流量通常比跨安装点的网络流量更高效。一个NameNode尽量将一个块的多个副本放置到多个安装上以提高容错能力。
       HDFS使用一个智能副本放置模型来提高可靠性和性能。优化副本放置使得HDFS不同于其他大多数分布式文件系统,而一个高效使用网络带宽的、具有机柜意识的副本放置策略将进一步促进这种优化。
     2)冗余备份
      HDFS被设计为在一个大集群里跨机器、可靠存储的非常大的文件系统。
     3)副本存放
     4)安全模式
      HDFS启动的时候,NameNode进入一个特殊的状态,叫做安全模式,此时不会出现数据块的复制。
     5)空间回收
     6)元数据磁盘失效
     7)快照
      快照支持存储某一点时间的数据复制。这个特性的一个应用就是把损坏的HDFS示例回滚到以前某个正常的时间点。
0 0
原创粉丝点击