1025-hadoop课程

本文详细介绍了Hadoop MapReduce的工作原理,包括Map和Reduce阶段的数据处理流程,并深入探讨了从MR1.0到MR2.0 On YARN的演进过程。针对YARN的资源管理机制进行了阐述,解释了其如何解耦资源管理和任务计算,从而支持多种计算框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HA(High Available)高可用性集群环境搭建

理解MapReduce

  • Map
    将数据映射为KV模型
    并行分布式计算
    计算向数据移动
  • Reduce
    数据全量/分量加工
    相同的key为一组,调用一次reduce方法
    排序实现key的汇聚([归并排序]-将已有序的子序列合并,得到完全有序的序列)
  • KV使用自定义数据类型
    序列化:便于分布式程序数据交互
    Comparable:实现排序(字典序,数值序)

MR 1.0

  • 角色
    JobTracker:(主)调度所有的作业和监控整个集群的资源负载

    TaskTracker:(从)管理自身节点资源,和JobTracker心跳,汇报资源,获取task

    Client:以作业为单位,规划作业计算分布,提交作业资源到HDFS,最终提交作业到JobTracker
  • 弊端
    1.JobTracker负载过重,单点故障
    2.资源调度和计算调度强耦合,其他计算框架需要重复实现资源管理
    3.不同框架对资源不能全局管理

MR 2.0 On YARN

  • YARN:Yet Another Resource Negotiator
    特点:解耦资源管理与任务计算,多个应用框架可运行在YARN上(MapReduceSparkStorm等)

    ResourceManager:(主)集群节点资源管理

    NodeManager:与RM汇报资源;管理Container生命周期(计算框架中的角色以Container表示)(一般与DataNode位于同节点上)

    ApplicationMaster:负责应用程序相关事务(任务调度,任务监控和容错等);每个应用程序对应一个ApplicationMaster

    Container:默认NM启动线程控制Container大小,超出申请资源,kill;支持linux内核的Cgroup
  • MR
    RM-ApplicationMaster-Container:以作业为单位,负载到不同的节点,避免单点故障;创建Task需要和RM申请资源(Container)

    Task-Container:执行具体的作业
  • Client
    RM—Client:请求资源创建AM
    AM-Client:与AM交互
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值