• Hadoop整理二(Hadoop分布式存储系统HDFS)


    一.背景

      当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行分区(partition) 并存储到若干台单独的计算机上。管理网络中跨多台计算机存储的文件系统称为分布式文件系统 (distributed filesystem ) 。该系统架构于网络之上,势必会引入网络编程的复杂性,因此分布式文件系统比普通磁盘文件系统更为复杂。例如,使文件系统能够容忍节点故障且不丢失任何数据,就是一个极大的挑战。Hadoop 为有一个称为 HDFS 为 的分布式系统,全称为Hadoop Distributed Filesystem,在非正式文档或旧文档以及配置文件中,有时也简称为 DFS。

    二.概念

    HDFS 集群有两类节点,并以管理者-工作者模式运行,即一个namenode( 管理者)和多个datanode( 工作者 )。


    NameNode是HDFS架构中的主节点。它维护着文件系统树及整棵树内所有的文件和目录。这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件(fs-image)编辑日志(edit-logs)文件。也记录着每个文件中各个块所在的数据节点信息,但它并不永久保存块的位置信息,因为这些信息会在系统启动时由数据节点重建。

    功能
     管理各个从节点的状态(DataNode)。
     记录存储在HDFS上的所有数据的元数据信息。例如:block存储的位置,文件大小,文件权限,文件层级等等。这些信息以两个文件形式永久保存在本地磁盘上。
    命名空间镜像文件(FsImage): fsimage是HDFS文件系统存于硬盘中的元数据检查点,里面记录了自最后一次检查点之前HDFS文件系统中所有目录和文件的序列化信息
    编辑日志(edit-logs) 文件:保存了自最后一次检查点之后所有针对HDFS文件系统的操作,比如:增加文件、重命名文件、删除目录等等。
     记录了存储在HDFS上文件的所有变化,例如文件被删除,namenode会记录到editlog中。
     接受DataNode的心跳和各个datanode上的block报告信息,确保DataNode是否存活。
     负责处理所有块的复制因子。 如果DataNode节点宕机,NameNode会选择另外一个DataNode均衡复制因子,并做负载均衡。


    DataNode是HDFS架构的从节点,管理各自节点的Block信息。datanode是文件系统的工作节点。它们根据需要存储并检索数据块(受客户端或namenode调度),并且定期向namenode 发送它们所存储的块的列表。

    功能
     多个DataNode分别运行在独立的节点上。
     数据实际是存储到DataNode上面
     DataNode执行客户端级别的读写请求。
     向NameNode发送心跳(默认是3s),报告各自节点的健康状况。


    Sencondary NameNode是NameNode的助手,不要将其理解成是NameNode的备份。 Secondary NameNode的整个目的在HDFS中提供一个Checkpoint Node,所以也被叫做checkpoint node。、

    功能
     定时的从NameNode获取EditLogs,并更新到FsImage上。
     一旦它有新的fsimage文件,它将其拷贝回NameNode上,NameNode在下次重启时回使用这个新的fsimage文件,从而减少重启的时间。


    客户端(Client)
    Client代表用户通过namenode和datanode访问整个文件系统。客户端提供一个类似于POSIX(可移植操作系统界面)的文件系统接口,因此用户在编程时无需知道namenode和datanode也可实现其功能。


    复制因子

    HDFS为我们提供了可靠的存储,就是因为这个复制因子。默认复制因子是3。DataNode会定时发送心跳给NameNode,汇报各自节点的Block信息。NameNode收集到这些信息后,会对超出复制因子的Block删除,复制因子不足的Block做添加。

  • 相关阅读:
    第一节 2字符串 简单
    第一节 1C#基础 简单
    终于找到wamp修改密码方式了!
    js通过class name获得元素
    JavaScript中arguments
    对技术的态度
    C++的坑真的多吗?
    js 常用正则
    js利用Array.splice实现Array的insert/remove
    c# asp.net webform web页面打印,可以控制需要打印和不需要打印的位置
  • 原文地址:https://www.cnblogs.com/yuanninesuns/p/8392320.html
Copyright © 2020-2023  润新知