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
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop框架,YARN(Yet Another Resource Negotiator)是一个资源管理器,它负责集群的资源分配和作业调度。以下是一个关于YARN的例子: 假设我们有一个Hadoop集群,其包含多个节点(Node)。每个节点都有一定的计算资源(CPU、内存等)可供使用。现在有多个MapReduce作业需要在这个集群上运行。 而YARN的作用就是管理和调度这些作业的资源。它首先接收到待运行的作业,然后根据作业的需求和集群的资源情况,进行资源的分配和调度。 具体来说,YARN的作用如下: 1. 资源管理:YARN会监控集群每个节点的资源情况,包括可用的CPU、内存等。当一个作业提交给YARN时,它会根据作业的资源需求来进行资源分配,确保每个作业获得足够的资源来执行。 2. 作业调度:YARN根据作业的优先级和调度策略,将作业分配给适合的节点来执行。它会考虑集群各个节点的负载情况,避免某些节点过载或资源浪费。 3. 任务监控和容错:YARN会监控每个作业的运行状态,并在发生错误或节点故障时进行容错处理。如果一个任务失败,YARN可以重新分配任务到其他可用的节点上,确保作业的正常执行。 4. 状态报告和日志管理:YARN会生成作业的状态报告和日志信息,用于监控作业的执行情况和故障排查。管理员可以通过YARN的界面或命令行工具查看和管理作业的状态和日志。 总之,YARN在Hadoop框架起着关键的角色,负责资源管理和作业调度,确保作业能够高效地在整个集群上运行。它提供了集式的资源管理和调度功能,使得Hadoop集群可以更好地处理大规模的数据处理任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值