hadoop中各个节点的作用


typora-copy-images-to: img

hadoop中各个节点的作用

一 :namenode:
管理文件系统的命名空间,他维护着文件系统树及整棵树上所有的文件和目录,这些信息以两个文件形式永久的保存在本地磁盘上,命名空间镜像文件(fsimage)(Editlogs)
    fsimage:namenode启动时,对整个文件系统的快照
    editlogs:namenode启动以后,对文件系统的改动序列
namenode也记录着每个文件中各个块所在的数据节点信息(包括副本数,用户对hdfs的操作),但它并不永久保存块的位置信息,因为这些信息会在系统启动时根据数据节点信息重建。  
二:datanode
datanode负责提供来自文件系统客户端读和写的请求,受客户端或者namenode的调度,并且定期向namenode发送(通过心跳机制存储的块的列表)
三:journalNode
namenode之间为了数据同步,会通过一组称作JournalNodes的独立进程相互通信,当active状态的NameNode的命名空间有任何修改时,会告知大部分的JournalNodes进程。standby状态的NameNode有能力读取JournalNodes中的变更信息,并且一直监控editlog的变化,把变化应用与自己的命名空间。standby可以确保在集群出错时,命名空间状态已经完全同步了。为了确保快速切换,standby状态的NameNode有必要知道集群中所有数据块的位置。为了做到这点,所有的DataNodes必须配置两个NameNode的地址,发送数据块位置信息和心跳给他们两个。
    对于HA集群而言,确保同一时刻只有一个NameNode处于active状态是至关重要的。否则,两个NameNode的数据状态就会产生分歧,可能丢失数据,或者产生错误的结果。为了保证这点,JournalNodes必须确保同一时刻只有一个NameNode可以向自己写数据。
四:nodemanager
yarn中的每一台节点服务器都运行一个NodeManager,NodeManager相当于管理当前机器的一个代理,负责本台机器的程序运行,并且对本台机器资源进行管理和监控,NodeManager定时向ResourceManager汇报本节点的资源(cpu,内存,磁盘)等使用情况,启动并监控Container(容器)
五:ResourceManager
管理集群资源,负责全局资源的监控,分配和管理。接收来自NodeManager的心跳信息,进行整体资源的汇总,监控ApplicationMaster的开启和创建。
六:ZKFC
定期对本地的namenode发起health—check命令,如果nameNode正确返回,那么这个namenode被认为是ok的,否则被认为是失效节点,zookeeper提供了一个简单的机制来保证只有一个namenode是活动的,如果当前的namenode失效,那么另一个namenode将获取zookeeper的独占锁,表明自己是活动节点
   作为一个zookeeper集群的客户端,用来监控namnode的状态信息,每个namenode的节点必须要运行一个zkfc
七:SecondaryNameNode(检查节点)
namenode重启时,editlogs才会合并到fsimage文件中,从而得到一个文件系统的最新快照,但是在集群中,namenode是很少重启的,这也就意味着当namenode运行了很长一段时间后,edit-logs文件会非常大,这种情况就出现了以下问题:
	edit-logs文件非常大,怎么去管理
    namenode重启需要花费很长的时间,因为有很多改动要合并到fsimage文件中
    如果namenode挂掉了,那么就丢失了很多改动,此时的fsimage中,在这种情况下,丢失的改动不会特别多,因为丢失的改动是在内存中但是没有写到editlogs的这部分
    
secondary nameNode就是解决这个问题的,他的职责是合并namenode的editlogs文件到fsimage文件中
    secondary nameNode定时查询namenode上的editlogs,并更新到fsimage上(是他自己的fsimage)
    一旦他有了新的faimage文件,他将其拷贝到namenode中
    namenode下次重启的时候,会使用这个新的fsimage,从而减少重启时间
    
关于NameNode是什么时候将改动写到edit logs中的?这个操作实际上是由DataNode的写操作触发的,当我们往DataNode写文件时,DataNode会跟NameNode通信,告诉NameNode什么文件的第几个block放在它那里,NameNode这个时候会将这些元数据信息写到edit logs文件中。

在这里插入图片描述

  • 2
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值