nameNode和dataNode启动都干了哪些事?

nameNode

nameNode启动时,首先将镜像文件(fsimage)载入存,并执行edits中的各项操作,一旦在内存中成功建立文件系统元数据镜像,则创建一个新的fsimage文件和一个空的edits(编辑日志),此时nameNode开始监听dataNode请求,到那时此刻,nameNode运行在安全模式,即nameNode的文件系统对于客户端来说是只读的。

dataNode

dataNode启动时,每个dataNode对本地磁盘进行扫描,将本dataNode上保存的block信息汇报给nameNode,nameNode在收到block信息并保存在内存中。
dataNode启动后会向nameNode注册,通过周期性(1小时)向nameNode上报所有的块信息
1、通过向nameNdoe发送心跳保持联系(3秒一次)
2、如果10分钟没有收到DatraNode的心跳,则认为这个dataNode已经宕机,nameNode启动进程恢复其上的数据块到其他dataNode上。
3、dataNode在其文件创建后的三周进行验证其checkSum的值是否和文件创建时的checkSum值一直。
【注意】
1,nameNode不回发起dataNode的请求。在这个通信过程中,严格遵守从客户端/服务器架构,
dataNode之间可以通信,执行数据块复制任务。同时,在客户端执行写操作的时候,dataNode之间需要相互配合建立数据管道。
2、系统中的数据块位置并不是由nameNode维护的,而是以快列表的形式存储在dataNode中。在系统正常操作期间,nameNode会在内存中保留所有块位置的映射信息(),在安全模式下,各个dataNode会向nameNode发送最新的块列表信息。nameNode存储的元信息内容:文件的目录树结构、文件于blockid的映射关系,blockid于datanode的映射关系

参考:https://blog.csdn.net/lb812913059/article/details/79717525?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
https://www.cnblogs.com/MWCloud/p/11237056.html

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页