• MapReduce+yarn


    分布式计算框架MapReduce(离线批处理)

    特点:

      易于编程

      良好的扩展性

      高容错性

      海量数据的离线处理

    不擅长场景

    实时计算、流式计算、DAG计算

    YARN架构

    1 RM(ResourceManager) + N NM(NodeManager)

    ResourceManager的职责:一个集群active状态的RM只有一个,负责整个集群(分布式)的资源管理和调度

    1)处理客户端的请求(启动/杀死)

    2)启动/监控ApplicationMaster(一个作业对应一个AM)

    3)监控NM

    4)系统的资源分配和调度

    NodeManager的职责:整个集群中有N个,负责单个节点的资源管理和使用以及task的运行情况

    1)定期向RM汇报本节点的资源使用请求和各个Container的运行状态

    2)接收并处理RM的Container启停的各种命令

    3)单个节点的资源管理和任务管理

    ApplicationMaster:每个应用/作业对应一个,负责应用程序的管理

    1)数据切分

    2)为应用程序向RM申请资源(container),并分配给内部任务

    3)与RM通信以启停task,task是运行在container中的

    4)task的监控和容错

    Container:

    对任务运行情况的描述:cpu、memory、环境变量

    YARN执行流程

    1)用户向YARN提交作业

    2)RM为该作业分配第一个container(AM)

    3)RM会与对应的NM通信,要求NM在这个container上启动应用程序的AM

    4)AM首先向RM注册,然后AM将为各个任务申请资源,并监控运行情况

    5)AM采用轮询的方式通过RPC协议向RM申请和领取资源

    6)AM申请到资源后,便和相应的NM通信,要求NM启动任务

    7)NM启动我们作业对应的task

    yarn环境搭建

    mapred-site.xml

    yarn-site.xml

    启动yarn:sbin/start-yarn.sh

    验证是否启动成功

    jps

    web:hadoop001(localhost):8088

    停止yarn:sbin/stop-yarn.sh

    提交mr作业到yarn上运行:wc

    hadoop jar

  • 相关阅读:
    svn Mac
    webpack实用配置
    vuex状态管理-数据改变不刷新
    element-vue-koa2-mysql实现文件上传
    Promise的理解
    mysql Mac篇
    python 24 days
    python 7 days
    python 27 days
    python 26 days
  • 原文地址:https://www.cnblogs.com/liuffblog/p/12883406.html
Copyright © 2020-2023  润新知