美文网首页我爱编程
Hadoop主要模块

Hadoop主要模块

作者: 是我_7b3f | 来源:发表于2018-05-20 11:22 被阅读0次

    Hadoop主要作为资源管理器主要分为两个部分Yarn和HDFS(MapReduce是一种编程模型,先不写),

    Yarn  (Yet Another Resourse Negotiator)

    Yarn需要启动的节点有ResourseManager和NodeManager以及ApplicationMaster。

    相当于主从结构 ResourseManager几种管理NodeManager的信息包括内存和CPU,Nodemanager注册到ResourseManager,以及执行实际的任务,管理Container的生命周期、监控每一个Container的资源使用(内存、CPU等)情况、追踪节点健康状况、管理日志。其实Container是任务申请的空间。ApplicationMaster是用户编写的Yarn ,首先注册到RM,然后去跟RM申请资源,申请到后项RM要资源执行自己的任务。

    其中RM是高可用 用ZK提供主备冗余

    抄了一张图

    HDFS

    有以下节点

    Namenode(Activity)

    Nomenode(StandBy)

    Datanode

    DFSZKFailoverController(zkfc)

    JournalNode

    Namenode

    管理HDFS的命名空间,维护文件系统的目录Activity和StandByDFSZKFailoverController通过实现主备HA

    Datanode

    是HDFS真是存储文件的地方

    JournalNode

    是主备NameNode的共享数据,本身JournalNode是个集群,当Activity有修改的时候,会保证大部分JournalNode得到同步,然后StandBy会读取JournalNode变更的信息,在主备切换的时候,保证命名空间一致。

    DFSZKFailoverController

    zkfc启动在DataNode上,通过检测本地Datanode的健康状态和通过ZK的节点选主实现主备切换,ZKFC为防止脑裂,实现了“fencing”的功能,选主的时候会在ZK上注册两个节点

    /ActiveStandbyElectorLock和/ActiveBreadCrumb,第一个是临时节点,保证连接超时会删除,StandBy发现后可以抢注。后一个是永久节点,注册当前Activity的信息,如果是原来的Activity不正常断开,则次节点会存在,如果刚注册的Activity NameNode发现该节点有不是自己的信息,则调用RPC的transitionToStandby把对方置位StandBy,或者SSH登录该机器把进程Kill。

    抄来一张图

    相关文章

      网友评论

        本文标题:Hadoop主要模块

        本文链接:https://www.haomeiwen.com/subject/jhbzdftx.html