Hadoop 名称节点存储什么?
如果是“名称节点”, 什么存储在主内存中,什么存储在辅助内存(硬盘)中Hadoop 名称节点存储什么?,hadoop,mapreduce,hdfs,bigdata,Hadoop,Mapreduce,Hdfs,Bigdata,如果是“名称节点”, 什么存储在主内存中,什么存储在辅助内存(硬盘)中 “文件到块映射”是什么意思 什么是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存储文件->块映射,您能否详细说明为什么它需要在数据节点上存储块的位置?