YARN

  1. YARN(Yet Another Resource Negotiator)通过两类长期运行的守护进程(daemon)提供核心服务,a resource manager(每一个集群只有一个)来管理集群资源,node manager在集群中所有节点上运行,启动和监控容器。一个容器运行一个特别的应用进程,分配一定的资源(内存,cpu)
  2. 在YARN上执行一个应用,客户端访问resource manager来执行一个应用主进程,resource manager找到一个node manager来运行应用主进程在一个容器中。
  3. 一个应用进程可以在容器中执行一个简单的计算,也可以再申请一个nodemanager来执行分布式计算
  4. YARN本身不提供应用的任何部分,使用RPC层来进行远程沟通,传递状态,更新属性,返回结果。
  5. 一个YARN应用可以申请资源在任何时候,它可以全部申请完在运行开始,也可以动态的申请来满足需求的变化
  6. Sprak是一次性申请完,MapReduce则是Map阶段申请完,Reduce动态申请。
  7. 应用的生命周期(Application Lifespan)很广泛,可以几秒也可以几天甚至几个月。通常可以对用户的job进行分类,有的是一个job就对应一个应用,例如mapreduce。另外一个模型是一个workflow或者(user session不太理解)job对应一个应用,这种模型比第一个高校点,因为应用可以复用。同时中间数据也可以缓存下来,Spark使用这种模型。
  8. 第三种模型是不同用户共享的一个长期执行的应用。这类应用通畅扮演一种协调角色。(impla是这种)

你可能感兴趣的:(YARN)