HDFS中,NameNode,DataNode及SecondaryNameNode的作用(大数据面试高频二)

1、NameNode

是Master,他是一个主管、管理者。也叫HDFS的元数据节点。集群中只能有一个Active的NameNode对外提供服务。

  1. 管理HDFS的名称空间(文件目录树),HDFS很方便的一点就是对于用户来说很友好,用户不考虑细节的话,看到的目录结构和我们使用window和linux文件系统很像。
  2. 管理数据块(Block)映射信息及副本信息;一个文件对应的块的名字以及被储存在哪里,以及每一个文件备份多少都是有NameNode来管理。
  3. 处理客户端读写请求。

2、DataNode

 是slave。实际存储数据块的节点,NameNode下达命令,DataNode执行实际操作。

  1. 存储实际的数据块。
  2. 执行数据块的读/写操作。

3、SecondaryNameNode

SecondaryNameNode有两个作用,一是镜像备份,二是日志与镜像的定期合并,及合并NameNode的 edit logs (用户操作的编辑文件) 到 fsimage 文件中。

        第一阶段:NameNode启动

  1. 第一次启动NameNode格式化后,创建fsimage 和 edits 文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。
  2. 客户端对元数据进行增删改的请求。
  3. NameNode记录操作日志,更新滚动日志。
  4. NameNode在内存中对数据进行增删改查。

        第二阶段:SecondaryNameNode 工作

  1. SecondaryNameNode 询问NameNode是否需要checkpoint。直接带回NameNode是否检查结果。
  2. SecondaryNameNode 请求执行checkpoint。
  3. NameNode滚动正在写的edits日志。
  4. 将滚动前的编辑日志和镜像文件拷贝到SecondaryNameNode。
  5. SecondaryNameNode 加载编辑日志和镜像文件到内存,并合并。
  6. 生成新的镜像文件 fsimage.checkpoint。
  7. 拷贝 fsimage.checkpoint 到 NameNode。
  8. NameNode 将fsimage.checkpoint重新命名为fsimage。
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值