zoukankan      html  css  js  c++  java
  • HDFS,YARN,MapReduce三者之间的关系

    HDFS:DataNode存储数据,NameNode负责告诉别人数据存储在哪个节点,哪些信息,2NN,备份NameNode.

    YARN:整个集群资源的管理。

    MapReduce:

    (1)分布式的运算程序往往需要分成至少 2 个阶段。
    (2)第一个阶段的 MapTask 并发实例,完全并行运行,互不相干。
    (3)第二个阶段的 ReduceTask 并发实例互不相干,但是他们的数据依赖于上一个阶段的所有MapTask 并发实例的输出。
    (4)MapReduce 编程模型只能包含一个 Map 阶段和一个 Reduce 阶段,如果用户的业务逻辑非常复杂,那就只能多个 MapReduce 程序,串行运行。

    大致过程:

    1、有一个client(可以代码调用,一些页面访问入口等),向集群提交一个任务,比如查询某某文件。

     2、client提交完任务之后,YARN中的ResourceManger找一个节点,开启一个Container,然后把任务放到Container中,任务叫App Mstr,App Mstr向ResourceManger申请,任务开启所需资源。ResourceManger寻找哪些节点有资源,App Mstr开启Map Task,相当于Map阶段。每一个Map Task独立运行,最终把结果汇总写入磁盘HDFS上。

  • 相关阅读:
    链表-(1)
    爬虫(10-3)验证码图片识别
    爬虫10-2(多线程爬虫)
    分布式爬虫系统的架构(19)
    pipenv管理Python虚拟环境
    peewee-async集成到tornado
    Python3笔记051
    Python3笔记050
    Python3笔记049
    Python3笔记048
  • 原文地址:https://www.cnblogs.com/danyuzhu11/p/15714047.html
Copyright © 2011-2022 走看看