千家信息网

MapReduce架构简介

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,前言:MapReduce是用于数据处理的一种编程模型,简单但足够强大,专门为并行处理大数据而设计。MapReduce的处理过程分为两个步骤:map和reduce。每个阶段的输入输出都是key-valu
千家信息网最后更新 2026年11月02日MapReduce架构简介

前言:

MapReduce是用于数据处理的一种编程模型,简单但足够强大,专门为并行处理大数据而设计。
MapReduce的处理过程分为两个步骤:map和reduce。每个阶段的输入输出都是key-value的形式,key和value的类型可以自行指定。map阶段对切分好的数据进行并行处理,处理结果传输给reduce,由reduce函数完成最后的汇总。
到了2.0之后,MapReduce可以理解为是一个jar包或一个程序,这个程序要运行在Yarn上面,上面有两个进程,ResourceManager和NodeManager,ResourceManager里面两个模块是什么,Application Manager: 应用程序管理器 和 Scheduler:调度器,NodeManager相当于执行一个容器,这个容器里面有 CPU+Memory,这个容器运行一个封装的任务,MapTask(映射任务)或者跑ReduceTask(归约任务)

下面简单介绍下MapReduce2架构设计或者称为MapReduce提交到Yarn的工作流程:

  • 1:用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
  • 2:ResourceManager为该应用程序分配第一个Container,并与对应的Node-Manager通信,要求它在这个Container中启动应用
    程序的ApplicationMaster。
  • 3:ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManage查看应用程序的运行状态,然后
    它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。
  • 4:ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。
  • 5:一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。
  • 6:NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通
    过运行该脚本启动任务。
  • 7:各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行
    状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序
    的当前运行状态。
  • 8:应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。
程序 任务 运行 应用程序 应用 状态 处理 用户 两个 容器 数据 资源 命令 步骤 环境 脚本 过程 阶段 设计 通信 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融与金融科技 奇酷互联网科技公司 互联网 视角下的科技创新 万达互联网科技 衡水科技产业互联网平台 广西拼得多互联网科技有限公司 互联网时代科技改变生活 成都互联网科技公司工作好不好 996高科技互联网公司 天津腾达互联网科技有限公司 美国互联网科技实力 江苏互联网智能科技软件 富国互联网金融科技混合基金 上海创道互联网络科技有限公司 互联网科技年终奖 山东大美朱楼互联网科技有限公司 互联网时代科技型公司的机会 广西科技产业互联网是什么 安徽零酒互联网科技有限公司 知域互联网科技有限公司官网 互联网科技英文 奇酷互联网络科技公司 智慧科技互联网 上海卓越科技 互联网 联恩商钥互联网科技有限公司 中正互联网科技招聘 中盈科技互联网信息有限公司 米聚互联网科技南京有限公司排面 恒生科技指数 中概互联网 保山浩联互联网科技有限公司
0