一、分布式计算框架MapReduce介绍(计算向数据移动)

1.1、为什么叫MapReduce

MR原语:map + reduce(MapTask & ReduceTask输入(格式化k,v)数据map映射成一个中间数据集(k,v)reduce (sql)
“相同”的key为一组,调用一次reduce方法,方法内迭代这一组数据进行计算 (类似的sql)

1.2、计算框架MRwordcount 单词统计)

Hadoop 1.x  -- mr 1.x

(1)Map:

  • 读懂数据
  • 映射为KV模型
  • 并行分布式
  • 计算向数据移动

(2)Reduce:

  • 数据全量/分量加工(partition/group)
  • Reduce中可以包含不同的key
  • 相同的Key汇聚到一个Reduce中
  • 相同的Key调用一次reduce方法
  • 排序实现key的汇聚

K,V使用自定义数据类型:

  • 作为参数传递,节省开发成本,提高程序自由度
  • Writable序列化:使能分布式程序数据交互
  • Comparable比较器:实现具体排序(字典序,数值序等)

1.3、MRV1角色

(1)JobTracker

  • 核心,主,单点
  • 调度所有的作业
  • 监控整个集群的资源负载

(2)TaskTracker

  • 从,自身节点资源管理
  • 和JobTracker心跳,汇报资源,获取Task

(3)Client

  • 作业为单位
  • 规划作业计算分布
  • 提交作业资源到HDFS
  • 最终提交作业到JobTracker

弊端

  • JobTracker:负载过重,单点故障
  • 资源管理与计算调度强耦合,其他计算框架需要重复实现资源管理
  • 不同框架对资源不能全局管理
     

1.4、Hadoop  YARN MRv2)解耦资源与计算

Hadoop学习(2)——组件介绍(MapReduce)

(1)角色介绍
ResourceManager:

  • 主,核心
  • 集群节点资源管理

NodeManager:

  • 与RM汇报资源
  • 管理Container生命周期
  • 计算框架中的角色都以Container表示

Container:【节点NM,CPU,MEM,I/O大小,启动命令】:

  • 默认NodeManager启动线程监控Container大小,超出申请资源额度,kill
  • 支持Linux内核的Cgroup
     

 

1.3、分布式资源管理框架YARN:负责集群资源的管理和调度

相关文章:

  • 2021-12-30
  • 2021-12-06
  • 2021-07-21
  • 2021-09-20
  • 2021-06-05
  • 2021-11-25
  • 2022-02-17
猜你喜欢
  • 2021-12-29
  • 2021-12-20
  • 2021-06-03
  • 2021-11-06
  • 2021-09-22
  • 2021-07-29
相关资源
相似解决方案