Hadoop 名称节点存储什么?

Hadoop 名称节点存储什么?,hadoop,mapreduce,hdfs,bigdata,Hadoop,Mapreduce,Hdfs,Bigdata,如果是“名称节点”, 什么存储在主内存中,什么存储在辅助内存(硬盘)中 “文件到块映射”是什么意思 什么是fsimage和编辑日志 在“名称节点”的情况下,主内存中存储的是什么 存储在辅助存储器(硬盘)中 文件到块的映射、数据节点上块的位置、活动数据节点以及一组其他元数据都存储在NameNode的内存中。当您查看NameNode状态网站时,几乎所有这些信息都存储在内存中的某个位置 磁盘上存储的唯一内容是fsimage、编辑日志和状态日志。有趣的是,NameNode从未真正使用磁盘上的这些文件,除

如果是“名称节点”, 什么存储在主内存中,什么存储在辅助内存(硬盘)中

  • “文件到块映射”是什么意思

  • 什么是fsimage和编辑日志

  • 在“名称节点”的情况下,主内存中存储的是什么 存储在辅助存储器(硬盘)中

    文件到块的映射、数据节点上块的位置、活动数据节点以及一组其他元数据都存储在NameNode的内存中。当您查看NameNode状态网站时,几乎所有这些信息都存储在内存中的某个位置

    磁盘上存储的唯一内容是fsimage、编辑日志和状态日志。有趣的是,NameNode从未真正使用磁盘上的这些文件,除非它在启动时。
    fsimage
    编辑
    文件的存在几乎只是为了能够在需要停止或崩溃时使NameNode恢复

    “文件到块映射”是什么意思

    当一个文件被放入HDFS中时,它被分割成块(大小可配置)。假设您有一个名为“file.txt”的文件,其大小为201MB,块大小为64MB。您将得到三个64MB块和一个9MB块(64+64+64+9=201)。NameNode跟踪HDFS中的“file.txt”映射到这四个块的事实。DataNodes存储块,而不是文件,因此映射对于理解数据的位置和数据的内容非常重要

    什么是fsimage和编辑日志

    NameNode内存的最近检查点存储在
    fsimage
    中。可以从此文件还原来自该检查点的NameNode状态(即文件->块映射、文件属性等)

    编辑
    文件是自上次检查点以来来自
    fsimage
    的所有新更新。这些是类似于文件被删除或添加的事情。这对于您的NameNode是否关闭非常重要,因为它具有自上次检查点存储在
    fsimage
    中以来的最新更改。NameNode出现的方式是将
    fsimage
    具体化到内存中,然后按照它在
    编辑
    文件中看到的顺序应用
    编辑

    fsimage
    edits
    的存在方式与它们的存在方式相同,因为每次HDFS操作完成时编辑潜在的海量
    fsimage
    文件可能会对系统造成困难。相反,只需将
    编辑
    文件附加到。但是,对于NameNode的启动和数据存储,时不时地将编辑内容滚动到fsimage中是一件好事


    SecondaryNameNode是定期获取
    fsimage
    编辑
    文件并将它们合并到一个新的检查点
    fsimage
    文件的过程。这是一个重要的过程,可以防止
    编辑变得庞大。

    Donald,鉴于NameNode存储文件->块映射,您能否详细说明为什么它需要在数据节点上存储块的位置?