美文网首页
HDFS详解

HDFS详解

作者: JustCode | 来源:发表于2017-06-02 17:26 被阅读112次

可以在http://master:50070上访问hdfs的web页面。
本文章主题如下:

  • HFDS结构

  • NameNode

  • DataNode

  • Secondary NameNode

  • Block

  • Block副本管理

  • 机架感知策略

  • HDFS结构

HDFS结构.png

Hadoop分布式系统 —— HDFS,它是一个块结构文件系统,它的每个文件都被分割成许多预定大小的块。这些块被存储在集群中的一台或多台机器上。HDFS遵循主/从结构,集群中拥有一台单独的NameNode(主节点),其它节点都是DataNode(从节点)。

  • NameNode

NameNode.png

NameNode维护并管理着DataNode上的block。
以下是NameNode的功能:

  1. 维护并管理着DataNode节点;
  • 记录着集群中所有文件的元数据(metadata)信息,比如:block的存储位置,文件的大小,权限,层级关系等。有两个文件关联着元数据(metadata):

  • FsImage: 记录着文件系统命名空间(namespace)自从上一次启动之后的完整状态。

  • EditsLog:记录着相对于最近的FsImage,客户端对文件系统所有修改的信息。

    • 记录着文件系统中元数据所发生的所有变化,比如:HDFS中的某个文件被删除,NameNode立即在EditLog中进行记录。
    • 定期从集群中的所有DataNode接收心跳和块报告,用来确认DataNode是否宕机。
    • 保存着HDFS中所有块的记录,以及这些块位于哪个节点。
    • 负责处理所有块的副本。
    • 在DataNode宕机的情况下,NameNode会为副本选择新的DataNode,平衡磁盘的使用量,管理DataNode间的通信流量。
  • DataNode

DataNode是HDFS中的从节点,它是将数据以ext3或者ext4这种文件格式,存储在本地的块服务器。
以下是DataNode的功能:

  1. 处理文件客户端的低级读写请求。
  • 向NameNode定期发送心跳汇报HDFS总体的健康状况,默认情况下,每3秒发送一次。

  • Secondary NameNode

它的职责是辅助NameNode工作,而不是备用节点。

Secondary-NameNode.png

它的功能如下:

  1. 合并来自NameNode的FsImage和EditLog,并将合并之后的FsImage文件拷贝给NameNode。
  • Block

存储在DataNode磁盘上的文件块,默认大小是128M(1.x默认大小是64M),可通过hdfs-site.xml 文件配置dfs.blocksize 属性来制定block大小。block文件可以在DataNone的
{dfs.datanode.data.dir}/data/current/XXX/current/finalized/xx/目录下找到。如果block块太小,将会导致一个文件将会被分割成非常多的块,以至于会有非常多mateData数据,浪费内存以及硬盘空间。

HDFS-File-Block.png
  • Block副本管理

Block默认是3个,


Replication-Management.png

以在配置文件中设置。

  • 机架感知策略

HDFS的存放策略(机架感知策略)是将一个副本存放在本地机架的节点上,一个副本放在同一机架的另一个节点上,最后一个副本放在不同机架的节点上

Rack-Awareness.png

机架感知策略的有点:

  1. 提高网络性能:这种策略减少了机架间的数据传输,这就提高了写操作的效率,数据块只放在两个(不是三个)不同的机架上,因此减少了读取数据时需要的网络传输总带宽。
  • 避免数据丢失:副本分布在不同机架上不同节点上,不会因为某个机架或者节点宕机而导致数据丢失。

文献:https://www.edureka.co/blog/apache-hadoop-hdfs-architecture/?utm_source=quora&utm_medium=crosspost&utm_campaign=social-media-edureka-ab
http://zheming.wang/blog/2015/07/24/17505A21-0204-48AB-8EBE-EAC911B22821/

相关文章

  • HDFS详解-01

    HDFS详解-01 作业: HDFS详解: 1.三个进程 2.block(数据块) 3.副本数: 4.案例 5.架...

  • NEXT学院-剑指大数据面试 百度网盘分享

    01、大数据面试导学02、课程目录03、hdfs架构详解04、图解hdfs核心组件的职责05、图解hdfs写数据流...

  • 大数据面试 | 01 HDFS面试热点--HDFS 架构及读写

    文章目录 HDFS 简介以及架构设计 详解SecondaryNameNode HDFS小文件危害以及解决方案 HD...

  • HDFS详解

    1、HDFS进程 NameNode:名称节点DataNode:数据节点 SecondaryNameNode:第二名...

  • HDFS详解

    一.HDFS简介 hdfs是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件,并且是分布式的,由...

  • hdfs详解

    hdfs简介 hdfs是hadoop中分布式的文件存储系统;具有高容错、可扩展;广泛的用于大数据项目中(不仅仅是h...

  • HDFS详解

    HDFS:是hadoop的核心子项目,是一个分布式的文件系统它整合了众多的文件系统,并提供了一个类FileSyst...

  • HDFS详解

    Hadoop2.X后可以划分为三部分:HDFS、MapReduce和Yarn,本篇主要看一下HDFS。 架构图 进...

  • HDFS详解

    认识HDFS HDFS的特点: 高容错性高吞吐量故障的检测和自动快速恢复流式的数据访问大数据集一次写入,多次读写 ...

  • HDFS详解

    可以在http://master:50070上访问hdfs的web页面。本文章主题如下: HFDS结构 NameN...

网友评论

      本文标题:HDFS详解

      本文链接:https://www.haomeiwen.com/subject/iuqsfxtx.html