乐趣区

关于大数据:Hadoop-入门笔记核心组件-HDFS

作者:幻好

起源:恒生 LIGHT 云社区

基本概念

HDFS (Hadoop Distributed File System) 是 Hadoop 下的分布式文件系统,具备高容错、高吞吐量等个性,能够部署在低成本的硬件上。

首先,通过名字就能很分明的明确 HDFS 在 Hadoop 中是应该文件存储的组件。

HDFS 的设计之初,次要是思考到在数据量的一直增长的环境下,因为受制单机资源无限,为了保证系统可能提供高可用、高可靠性以及高扩大等要求,于是通过分布式架构,以达到响应的需要。

外围架构

HDFS 的次要架构分为三个局部:NameNode(nn)DataNode(dn)Secondary NameNode(2nn)

NameNode(nn)

  • 存储文件的元数据,如文件名,文件目录构造,文件属性(生成工夫、正本数、文件权限),以及每个文件的块列表和块所在的 DataNode 等。

能够了解零碎的文件资源管理器,不便咱们查问文件存储地位以及相干属性信息。

DataNode(dn)

  • 负责提供来自文件系统客户端的读写申请,执行块的创立,删除等操作。

能够了解为通过 NameNode 是存储一些文件根本属性信息不便咱们查问,而 DataNode 则是存储文件数据的。

Secondary NameNode(2nn)

  • 用来监控HDFS 状态的辅助后台程序,每隔一段时间获取HDFS 元数据的快照

Secondary NameNode 能够了解为 NameNode 的备份,如果 NameNode 都挂了,Secondary NameNode 的备份还能持续提供服务

一个 HDFS 集群由一个 NameNode 和一些 DataNode 组成,NameNode 相当于控制中心,负责管理文件系统的名字空间、数据块与数据节点的映射以及数据节点的调度。DataNode 则负责解决理论的客户端读写的申请,存储数据。

运行原理

写数据

  • 首先客户端向NameNode 发动RPC 申请创立文件;
  • NameNode 会校验用户权限并查问文件是否存在,最终创立一条元数据信息并返回存储的DataNode 信息给客户端;
  • 客户端开始向DataNode 上传数据,DataNode 会对数据进行切分并实现正本的创立;
  • 而后DataNode 会将数据复制到其余的节点上;
  • 直到所有的节点实现后,返回上传胜利,敞开连贯。

读数据

  • 首先客户端通过RPC 调用NameNode 的查询方法;
  • NameNode 会校验用户权限并查问文件是否存在,并将文件保留在DataNode 的节点返回;
  • 客户端向返回的DataNode 发动读取的申请,获取数据;
  • 当所有的数据读取实现后,资源敞开。

优缺点

长处:

  • 可能解决较大文件,如 MB 到 TB。
  • 可能部署在便宜服务器上,对性能要求不高,具备较高容错性。
  • 可能对已存储内容进行追加存储内容

毛病:

  • 拜访提早较高,不适宜利用在低提早场景
  • 不适宜大量较小文件存储,会消耗较多资源。

总结

HDFS 的设计保障了零碎的高可用、高扩大等要求,尽管也有弊病,然而咱们应该依据切实的业务需要,抉择最合适的技术计划。

HDFS 通过其良好的跨平台移植性,使得其余大数据计算框架都将其作为数据长久化存储的首选计划。

退出移动版