NameNode和SecondaryNameNode关系解析
来源:互联网 发布:leg圣兽dbc数据 编辑:程序博客网 时间:2024/06/07 21:33
HDFS集群在启动后会有三个守护进程:NameNode,SecondaryNameNode和DataNode。我们都知道DataNode是用来存放数据的位置,那么NameNode和SecondaryNameNode的关系又是怎么样的呢?许多初学者根据名字可能会以为当NameNode出现故障时,SecondaryNameNode会自动成为新的NameNode,也就是NameNode的“热备”。通过下面的介绍,我们就会清楚地认识到这是错误的。
NameNode也被成为名字节点,是HDFS的主从架构的主角色的扮演者。它维护者整个文件系统的目录树,以及目录树里的所有文件和目录,这些信息以两种文件存储在本地文件中:一种时命名空间镜像(也称文件系统镜像,File System Image, FSImage),即HDFS元数据的完整快照,每次NameNode启动时,默认会加载最新的命名空间镜像,另一种是命名空间镜像的编辑日志(edit log)。
SecondaryNameNode也被称为第二名字节点,用于定期合并命名空间镜像和命名空间镜像的编辑日志。
FSImage 文件其实是文件系统元数据的一个永久行检查点,因为FSImage是一个大型文件,如果频繁的执行写操作,会使系统运行很慢。解决方案是NameNode只将改动内容预写日志(WAL),即写入命名空间镜像的编辑日志。随着时间的推移,编辑日志会越来越大,那么一旦发生故障,将会花费很多的时间回滚操作,所以需要定期合并FSImage和编辑日志,如果由NameNode来做,那么NameNode在为集群服务时可能无法提供足够的资源,所以这件事情就交给了SecondaryNameNode。NameNode和SecondaryNameNode交互如图
- SecondaryNameNode引导NameNode滚动更新编辑日志,并开始将新的内容写进Edit Log.new。
- SecondaryNameNode将NameNode的FSImage和编辑日志文件复制到本地的检查点目录。
- SecondaryNameNode载入FSImage文件,回放编辑日志,将其合并到FSImage,将新的FSImage文件压缩后写入磁盘。
- SecondaryNameNode将新的FSImage文件放回NameNode,NameNode在接受新的FSImage后,直接加载和启用该文件。
- NameNode将Edit Log.new更名为Edit Log。
默认情况下,该过程一小时发生一次,或者当编辑日志达到默认的64MB也会触发。
- NameNode和SecondaryNameNode关系解析
- hadoop SecondaryNameNode和NameNode
- hadoop SecondaryNameNode和NameNode
- SecondaryNameNode和NameNode分离
- hadoop SecondaryNameNode和NameNode
- NameNode和SecondaryNameNode
- NameNode 与 SecondaryNameNode 的关系
- hadoop管理NameNode和SecondaryNameNode
- hadoop集群管理之 SecondaryNameNode和NameNode
- Hadoop中namenode和secondarynamenode分开部署
- Hadoop之NameNode和SecondaryNameNode的区别
- HDFS:NameNode、DataNode、SecondaryNameNode
- HDFS:NameNode、DataNode、SecondaryNameNode
- 通过secondarynamenode恢复Namenode
- 利用secondarynamenode 回复namenode
- 浅谈Hadoop NameNode、SecondaryNameNode、CheckPoint Node和BackupNode
- hadoop 中NameNode和SecondaryNameNode的工作原理
- hadoop 中NameNode和SecondaryNameNode的工作原理
- Docker入门
- 使用anko 抛弃XML
- 【学术】希腊字母的发音、手写、区分
- 头检测
- 全局获取Context的技巧
- NameNode和SecondaryNameNode关系解析
- Linux系列课程之四VI 编辑器的使用
- protobuf使用规范
- UCloud 的安全秘钥(哈希表 计蒜之道第五场)
- python中time模块详解
- 主成分分析(PCA)——matlab程序及函数详解
- 项目报错但是代码没有错
- ubuntu安装intellij idea
- Java服务器线程查看和线程优化