hadoop学习资料-04-HDFS特点

  1. 架构图

    HDFS为了保证数据存储的可靠性和读取性能,对数据进行切块后进行复制并存储在集群的多个节点中 。
    HDFS中存在一个名字节点NameNode和多个数据节点DateNode
           NameNode
                            存储元数据信息
                            元数据保存在内存/磁盘中
                            保存文件、block、datanode 之间的映射关系
          DateNode
                            存储block内容
                            存储在磁盘中
                            维护了block  的id到文件的映射关系
  2. HDFS优点
    1.支持超大文件。
     超大文件在这里指的是几百M,几百DB,甚至几TB大小的文件。一般来说hadoop的文件系统会存储Tb级别或者PB级别的数据。所以在企业的应用中,数据节点有可能有上千个。
    2.检测和快速应对硬件故障
    在集群的环境中,硬件故障是常见的问题。因为有上千台服务器来连接在一起,这样会导致高故障率。因此故障检测和自动恢复是hdfs文件系统的一个设计目标。
    3.流式数据访问:
       Hdfs的数据处理规模比较大,应用一次需要访问大量的数据,同时这些应用一般都是批量处理,而不是用户交互式处理。
    应用程序能以流的形式访问数据集。主要的时数据的吞吐量,而不是访问速度。
    4.简化的一致性模型
       大部本hdfs操作文件时,需要一次写入,多次读取。在hdfs中,一个文件一旦经过创建、写入、关闭后,一般就不需要修改了。这样简单的一致性模型,有利于提高吞吐量。
    5.高容错性:
       数据自动保存多个副本,副本丢失后自动回复。
    6.可构建在廉价机器上:
       构建再廉价机器上可以轻松的通过扩展机器数量来近乎线性的提高集群存储能力。
  3. HDFS缺点
     1.低延迟数据访问:
        如和用户进行交互的应用,需要数据再毫秒或秒的范围内得到响应。由于hadoop针对高数据吞吐量做了优化,牺牲了获取数据的延迟,所有对于低延迟来说,不适合用hadoop来做。
     2.大量的小文件:
       Hdfs支持超大的文件,是通过数据分布在数据节点(datanode),数据的元数据保存在名字节点(namenode)上。名字节点的内存大小,决定了hdfs文件系统可保存的文件数量。虽然现在的系统内存都比较大,但大量的小文件还是会影响名字节点的性能。
     3.多用户写入文件、修改文件:
       Hdfs的文件只能有一次写入,不支持修改和追加写入(2.0版本支持追加),也不支持修改。只有这样数据的吞吐量才能大。
     4.不支持超强的事物:
      没有像关系型数据库那样,对事物有强有力的支持。

猜你喜欢

转载自blog.csdn.net/qq_40680190/article/details/81539553
今日推荐