HDFS 是 Hadoop 的重要组成部分

HDFS 是 Hadoop Distribute File System 的简称,
意为:Hadoop 分布式文件系统。是 Hadoop 核心组件之一,作为最底层的分布式存储服务而存在。
分布式文件系统解决的问题就是大数据存储。

HDFS集群

什么是HDFS(一)
管理者:NameNode
作用:负责管理,管理集群内各个节点。
负责管理整个文件系统的元数据(指的是数据的存放位置或存放路径)或名字空间
辅助管理者:SecondaryNameNode
作用:责辅助NameNode管理工作。
工作者:DataNode
作用:负责工作,进行读写数据。 周期向NameNode汇报。
负责管理用户的文件数据块(一个大的数据拆分成多个小的数据块)

Namenode作用

1、维护 管理文件系统的名字空间(元数据信息)
2、负责确定指定的文件块到具体的Datanode结点的映射关系。
3、维护管理 DataNode上报的心跳信息

DataNode作用

1、执行数据的读写(响应的是客户端)
2、周期性向NameNode做汇报(数据块的信息、校验和)
若datanode 10分钟没有向NameNode做汇报,表示已丢失(已宕机)
心跳周期 3秒 3、执行流水线的复制(一点一点复制)

HDFS 副本存放机制

什么是HDFS(一)

  1. 第一份数据来源于客户端
  2. 第二份存放的位置是与第一个副本在相同机架上,且不在同一个节点,按照一定的规则(cpu 内存 IO是用率,和硬盘剩余容量)找到一个节点存放
  3. 第三个副本的存放位置是与第一第二份数据副本不在同一个机架上,且逻辑与存放副本1和2的机架距离最近的机上按照一定的规则(cpu 内存 IO是用率,和硬盘剩余容量)找到一个节点进行存放

HDFS 特性

1、海量数据存储: HDFS可横向扩展,其存储的文件可以支持PB级别数据。

2、高容错性:节点丢失,系统依然可用,数据保存多个副本,副本丢失后自动恢复。 可构建在廉价(与小型机大型机比)的机器上,实现线性扩展(随着节点数量的增加,集群的存储能力,计算能力随之增加)。

3、大文件存储:DFS采用数据块的方式存储数据,将一个大文件切分成多个小文件,分布存储。

HDFS缺点:

1、 不能做到低延迟数据访问: HDFS 针对一次性读取大量数据继续了优化,牺牲了延迟性。

2、不适合大量的小文件存储 :
A:由于namenode将文件系统的元数据存储在内存中,因此该文件系统所能存储的文件总数受限于namenode的内存容量。

B:每个文件、目录和数据块的存储信息大约占150字节。
由于以上两个原因,所以导致HDFS不适合大量的小文件存储

3、文件的修改; 不适合多次写入,一次读取(少量读取)

4、不支持多用户的并行写。

相关文章: