zoukankan      html  css  js  c++  java
  • YARN HA部署架构

    hadoop001: zk rm(zkfc线程)  nm
    hadoop002: zk rm(zkfc线程)  nm
    hadoop003: zk              nm
    
    
    RMStateStore: 存储在ZK的/rmstore目录下
    
    ZKFC仅仅是线程
    
    大数据的数据是不能丢的,但是作业是可以挂的,挂了重启即可.因此YARN的架构比较轻量级,HDFS的架构相对来说,比较重量级别.
    
    小结:
    当我们RM进程启动后,会向ZK发一个look lck文件,写成功的话,是active状态,写失败,会是standby, rm节点会监控look文件的存在,如果不存在,就会试图创建look文件,谁创建成功,谁就是active状态. 同时,rm会接收client的请求,接收和监控NM的资源状态的汇报,然后负责资源的分配和调度. 然后它(NM)会启动和监控AM.
    
    NM向active汇报后,还会向standby汇报呢?  不需要
    
    ZKFC: 线程,只作为RM进程的一个线程,而非独立的进程存在. 没有必要搞资源的消耗
    RMStateStore: 存储在zk的/rmstore目录下. 
    1. active的RM会向这个目录写APP信息
    2. 当active RM 挂了,另外一个standby RM通过ZKFC选举成功为active,会从/rmstore目录读取相应的作业信息,重新构建作业的内存信息,启动内部的服务,开始接收NM的心跳,构建集群的资源信息,并且接受客户端的作业提交请求
    
    
    RM 进程:
    1. 启动的时候会向ZK的/rmstore目录写lock文件,写成功就为active,否则,就是是tandby. RM节点ZKFC会一直监控(通过心跳)这个lock文件的是否存在,假如不存在,就为active, 否则,就为standby
    22: 15 配置 http://hadoop.apache.org/docs/r2.6.5/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
    2. 接收client的请求,接收和监控NM的资源状况的汇报,负责资源的分配和调度
    3. 启动和监控我们的AM,AM是跑在NM节点的Container上. 
     ApplicationsManager 运行在RM中
     ApplicationMaster   运行在NM中的Container容器里  作业的主程序
    
    
    NM:
    节点资源的管理 启动容器运行task计算    上报资源    汇报task进度
    
    
    要点:
    1. ZKFC是进程还是线程?  线程, HDFS中的是进程
    2. /rmstore存储在哪里? 
        yarn.resourcemanager.zk-state-store.parent-path
    
    

    YARN-HA

  • 相关阅读:
    动态规划 ------最短路径问题
    回溯算法 ------回溯算法的设计思想和适用条件
    回溯算法 ------ 回溯算法的设计思想及适用条件
    回溯算法 ------回溯算法的几个例子
    纯css实现翻书效果
    从vue源码看props
    js循环中使用async/await踩过的坑
    js实现word转换为html
    从vue源码看Vue.set()和this.$set()
    微信、qq二次分享
  • 原文地址:https://www.cnblogs.com/suixingc/p/yarn-ha-bu-shu-jia-gou.html
Copyright © 2011-2022 走看看