简述HDFS架构——入门了解

HDFS(Hadoop Distributed File System):Hadoop分布式文件系统。

HDFS只是分布式文件系统中的一种。

产生背景:

        随着数据量越来越大,一个操作系统已经很难存下所有数据,此时就需要将数据分配到多个操作系统的磁盘中进行管理和维护。由于无法对多个操作系统上的文件进行高效的管理和维护,因此产生了分布式文件系统。

定义:

        HDFS是Hadoop分布式文件系统,用于存储文件,通过目录树定位文件位置,由许多服务器联合起来实现文件管理功能,并且集群中的服务器各自有各自的角色。

HDFS的优点:

  1. 高容错性:数据会自动保存多个副本,当某一个副本丢失后,它可以自动恢复。
  2. 适合处理大数据:可处理数据规模达到GB、TB、甚至PB级别的数据,也能处理百万规模以上数量的文件。
  3. 可搭建在廉价的机器上,通过多个副本的机制,增加了可靠性。

HDFS的缺点

  1. 不适合低延时数据访问:比如无法像操作数据库一样在毫秒级内得到结果反馈。
  2. 无法高效的对大量小文件进行存储:对于每个文件,NameNode都会用内存来存储文件的元数据(文件名、文件目录结构、文件属性和块信息等),小文件和大文件一样都存储了这种元数据信息,但是内存大小是有限的,如果主要存储小文件会失去HDFS存储海量数据的优势(针对小文件,我们可以采用文件合并的思想来解决此问题)。另外,小文件存储的寻址时间会超过读取时间,违反了HDFS的设计目标,寻址时间为传输时间的1%时属于最佳状态。
  3. 不支持并发写入、文件随机修改:文件只能有一个写,不能多个线程同时操作,只支持对文件内容进行追加,不支持对文件内容进行随机修改。

使用场景:

        适合一次写入数据,多次读出的操作场景,且不支持文件修改(只能追加内容)。适合数据分析、离线操作等。

HDFS的组成架构:

  1. NameNode(HDFS中的老大哥):管理者。管理HDFS的名称空间;副本分配策略管理;管理元数据信息;处理来自用户的请求。
  2. DataNode(HDFS中的小弟):负责执行命令。存储具体数据块;执行数据的写入\读出操作。
  3. SecondaryNameNode(NameNode的秘书):辅助NameNode。定期合并Fsimage和Edits,并发送给NameNode;在必要情况下,可以辅助恢复NameNode(不太可靠,不能保证完全恢复)。

你可能感兴趣的:(hdfs,hadoop,big,data,架构)