第六周学习总结
Hadoop MapReduce
1.对付大数据处理场景
先分再合,分而治之
不可拆分的计算任务或者相互有依赖关系的数据无法进行并行运算
2.构建抽象编程模型
3.统一架构、隐藏底层细节
分布式计算概念:
与集中式计算相对
将该应用分解成许多小的部分,分配给多台计算机进行处理
MR特点:
1.易于编程
2.良好的扩展性
3.高容错性
4.适合海量数据的离线处理
局限性:
1.实时计算性能差
2.不能进行流式计算
实例进程:
1.MRAppMaster
2.MapTask
3.ReduTask
阶段组成:
一个模型只能有一个Map阶段和一个Reduce阶段,或者只有Map阶段
数据类型:
以kv键值对的形式流转
Hadoop YARN
通用的资源管理系统和调度平台
架构图
三大组件:
ResouManage集群物理层面 RM资源分配的最终权限,最终仲裁者
NodeManage集群物理层面 NM管理本机器的计算资源
ApplicationMaster App层面 AM应用程序内的“老大”
client 客户端
Container 容器(资源的抽象)
核心交互流程
MR作业提交 Clitent -->RM
资源的申请 MrAppMaster-->RM
MR作业状态汇报 Container(Map|Reduce Task)-->Container(MrAppMaster)
节点的状态汇报 NM-->RM
整体概述:
阶段一:客户端申请资源启动运行本次程序的ApplicationMaster
阶段二:ApplicationMaster根据本次程序内部具体情况,为他申请资源,并监控它的整个运行过程
资源调度器scheduler和调度策略
调度器策略:
FIFO 先进先出调度 优先级无法调整。不适合共享集群
Capacity 容量调度 资源队列划分,层次化的队列设计 容量保证 安全 弹性分配
Fair 公平调度 分层队列 基于用户或组的队列映射 资源抢占 保证最小配额 允许资源共享 默认不限制每个队列和用户可以同时运行应用的数量

浙公网安备 33010602011771号