MapReduce架构简介
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,前言:MapReduce是用于数据处理的一种编程模型,简单但足够强大,专门为并行处理大数据而设计。MapReduce的处理过程分为两个步骤:map和reduce。每个阶段的输入输出都是key-valu
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
欧莱雅数据库工程师
我的世界出租服务器
电脑成为云游戏服务器的应用
如何开启服务器管理器
王者服务器怎么炸的
郴州口碑好的软件开发哪家便宜
服务器我的世界手机版
耐药数据库ARDB
网络安全的英语对话
中心服务器连接异常
软件开发女性35岁
网络安全需要注意那些问题
学软件开发以后找工作好找么
W619软件开发
广东省双进网络安全专题活动
从事软件开发需要哪些技能
南昌珠峰软件开发公司
免费邮件服务器
信息网络安全竞赛大纲
威海软件开发哪家便宜
vc服务器相关的it服务
数据库用ip连接失败
天津潮流软件开发服务品质保障
建立服务器定时删除文件任务
服务器安全狗需要登陆吗
online和混沌哪个服务器好
英国网络安全技术学院
互联网科技之美
智能化浪潮服务器技术指导
江苏华数网络技术有限公司