Hadoop-MapReduce和Yarn学习笔记


一、分布式计算方式

中国科学院的定义:
在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。简单来说就是将计算拆分到不同的计算机或者机器上进行计算,最后对计算的结果进行汇总。他有2种常见的模式“分散-汇总模式”,“中心调度-步骤执行模式

1. 分散-汇总模式

分散-汇总模式是指在对一个计算先进行拆分成小任务,每个计算机分别执行他分配到的计算任务,最后对计算的结果进行汇总。就像在学生时代老师让小组长批改试卷一样,每个小组长根据他的能力分配到试卷(分散任务),试卷批改完以后老师在对成绩进行登记汇总(汇总),MapReduce就是采用的这种模式

2. 中心调度-步骤执行模式

中心调度-步骤执行模式是指先选出一个中心任务调度管理者,在将任务分成几个步骤,每个机器执行对应的任务,执行完毕后交换信息在执行下一阶段的任务,直到任务结束,最后得到计算结果,他和分散-汇总模式最大的区别在于他每阶段任务结束后有一个信息的交换过程。项目经理 和 项目成员就是这种模式,一个管理分配任务,其余人员领取任务工作。Spark、Flink等采用的就是这种模式

二、MapReduce

1.概述

MapReduce是Hadoop中的一个重要组件,他的主要功能是分布式计算,他对外提供了2个接口,Map和Reduce

  • Map功能接口提供了“分散”的功能, 由服务器分布式对数据进行处理
  • Reduce功能接口提供了“汇总(聚合)”的功能,将分布式的处理结果汇总统计

2.案例(WordCount)

在这里插入图片描述

二、Yarn

1.概述

Yarn即Hadoop内提供的进行分布式资源调度的组件,提供更好的资源利用率,管控整个分布式服务器集群的全部资源,整合进行统一调度。它由ResourceManager和NodeManager组成。

  • ResourceManager:整个集群的资源调度者, 负责协调调度各个程序所需的资源。
  • NodeManager:单个服务器的资源调度者,负责调度单个服务器上的资源提供给应用程序使用

例子:实验室中一个机器的使用,如果没有人管理的话,一个人使用中可能会有另一个人来请求使用改机器,极为不便,假如有一个管理人员的话,使用预约制,提前预约机器的使用时间,这样就可以极大的提高资源的利用率

2.案例(资源分配)

  1. 当来了一个任务时,他会向ResourceManager申请相应的资源
  2. 此时ResourceManager会向他管理的NodeManager询问是否有充足的资源
  3. 如果有,该NodeManager会开辟一个容器(容器(Container)是YARN的NodeManager在所属服务器上分配资源的手段,创建一个资源容器,即由NodeManager占用这部分资源,然后应用程序运行在NodeManager创建的这个容器内,容器是完全隔离的
  4. 运行程序

在这里插入图片描述

3.辅助角色

代理服务器(ProxyServer):Web Application Proxy Web应用程序代理
历史服务器(JobHistoryServer): 应用程序历史信息记录服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值