【Hadoop】YARN、离线计算框架MapReduce、Hive

YARN

YARN是 Hadoop 的​​资源管理和作业调度层​​。

Resource Manager(RM)只有一个,管理所有资源,相当于yarn的master。Node Manager(NM)每个节点有一个,管理节点的资源。RM管理多个NM,监听他们的心跳。RM存在单点故障,但可以基于zookeeper实现HA(高可用)。

yarn运行过程

client向RM提交ApplicationMaster程序、启动命令以及应用程序本身,RM会根据节点资源使用情况找一个节点运行AM,然后AM将自己的任务和资源请求汇报给RM,RM就会在各个节点创建任务、分配资源,然后AM可以直接与节点上的NM通信,监督资源的完成状况,AM也会定期向RM发送心跳。Client可以在AM或RM获得应用的运行状况。

容错性体现

Task失败后NM会将失败的任务告诉AM,AM决定如何处理失败的任务。

AM失败后,RM负责创建一个新的MR AM。

RM收不到NM的心跳,会像AM报告,AM找新的节点运行失败的任务

离线计算框架MapReduce

MapReduce工作过程

首先,将数据切片(片的大小跟数据块大小相同),分发到HDFS的不同节点。每个片有一个map task任务来处理,这个任务会调用map()函数,生成一系列中间键值对。为确保同样key(键)的数据到同一个reduce task,会将数据进行分区并排序。reduce task会主动询问哪个map任务完成了,并拉取自己想要的键值对应的分区的数据并归并(shuffle过程)。全部拉取完成后,reduce task会调用reduce()函数计算结果,最后将结果保存到HDFS。

shuffle阶段涉及大量网络I/O操作(从不同节点拉取数据),和磁盘I/O操作(边拉取边处理,会进行数据的归并以及溢写到磁盘),所以优化mapreduce主要是优化shuffle阶段。

MapReduce容错机制

Task失败后NM会将失败的任务告诉AM,AM决定如何处理失败的任务。

AM失败后,RM负责创建一个新的MR AM。

RM收不到NM的心跳,会像AM报告,AM找新的节点运行失败的任务

推测执行机制

作业完成时间取决于最慢完成时间,某个任务慢于其他,启动一个备份任务,同时运行。不能启用推测执行机制时机:负载倾斜严重,特殊任务(向数据库写数据)

Hive

Hive:数据分析工具,解决海量结构化数据分析。离线分析,自动生成map-reduce作业。是hql>map-reduce的解释器。可以用类sql语句进行对表的查询。

你只要知道,它的存在是为了简化我们的操作,毕竟sql语句我们都比较熟悉。

相关推荐
TDengine (老段)1 小时前
从施工监测到运营预警,桥科院用 TDengine 提升桥梁数据管理能力
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
宁波鹿语心理1 小时前
无条件的在场:一项极简亲子依恋修复练习的机制分析与实证观察
大数据
lizhihai_998 小时前
股市学习心得—半导体12种核心材料
大数据·人工智能·学习
ZGi.ai8 小时前
智能客服系统设计:从工单分类到自动派单的工程实现
大数据·人工智能·分类
PaperData9 小时前
2000-2023年地级市数字基础设施评价指标体系
大数据·网络·数据库·人工智能·数据分析·经管
Blockchain Learning9 小时前
去中心化身份(DID)模型解析:区块链如何重塑身份管理?
大数据·去中心化·区块链
xcbrand9 小时前
政府事业机构品牌策划公司哪家可靠
大数据·人工智能·python
程序鉴定师9 小时前
如何选择合适的深圳小程序开发公司?
大数据·小程序
晨启AI10 小时前
GPT-5.5 来了!OpenAI 最新提示词指南深度解读
大数据·人工智能·ai·提示词
地球资源数据云11 小时前
中国陆地生态系统主要植物功能特征空间分布数据
大数据·数据库·人工智能·机器学习