MapReduce架构简介
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,前言:MapReduce是用于数据处理的一种编程模型,简单但足够强大,专门为并行处理大数据而设计。MapReduce的处理过程分为两个步骤:map和reduce。每个阶段的输入输出都是key-valu
千家信息网最后更新 2025年02月03日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安全错误
数据库的锁怎样保障安全
虹口区方便软件开发包括什么
体育数据库有哪些表格
卉贝网络技术开发
我的世界手机版加服务器
搜题计算机网络技术
卓源股份与网络安全
培训服务期协议里的服务器是指
软件开发需要学哪几门课
买单吧app取现显示服务器超时
中国互联网公司是不是科技公司
网络安全要学的专业
乐山互联网科技有限公司
鑫泽网络技术公司吉祥棋牌
志留纪网络技术有限公司
抚州民宿软件开发
红力网络技术
小程序显示无法访问服务器
车载网络技术相关企业
软件开发公司增值税的计算
猎头数据库出售
湛江pc软件开发常见问题
网络安全防范知识图文
数据库访问 esc安全组
视觉系统软件开发
暗黑破坏神2网络服务器
app网络技术发展
世界顶级数据库
京优易租网络技术有限公司
2008数据库安装包安装教程
路由器虚拟服务器工作原理