hadoop--之mapreduce框架流程

本文详细介绍了Hadoop MapReduce的框架流程,包括任务的状态更新、作业调度、任务执行、输入输出格式等。讨论了作业的进度跟踪、作业的完成与失败、FIFO、公平和容量调度器的设置。此外,还探讨了任务的推测执行、JVM重用以及如何通过配置优化任务执行。同时,讲解了输入分片、RecordReader、不同输入格式(如TextInputFormat、SequenceFileInputFormat)的工作原理,以及输出格式(如TextOutputFormat、SequenceFileOutputFormat)的使用。最后,介绍了计数器、排序和连接等MapReduce的高级特性。

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

hadoop1.x时候的计算框架
    hadoop1.x Mapreduce框架成员介绍

l 1 )Client
Ø 用户编写的 MapReduce 程序通过 Client 提交到 JobTracker 端;同时,用户可通过 Client 提供的一些接口查看作业的运行状态。在 Hadoop 内部用 作业 Job )表示 MapReduce 程序。一个 MapReduce 程序可对应若干个作业,而每个作业会被分解成若干个 Map/Reduce 任务( Task )。
l 2 )JobTracker
Ø JobTracke负责资源监控和作业调度。JobTracker 监控所有TaskTracker 与job的健康状况,一旦发现失败,就将相应的任务转移到其他节点;同时,JobTracker 会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务调度器,而调度器会在资源出现空闲时,选择合适的任务使用这些资源。在Hadoop 中,任务调度器是一个可插拔的模块,用户可以根据自己的需要设计相应的调度器。
l 3 )TaskTracker
Ø TaskTracker 会周期性地通过Heartbeat 将本节点上资源的使用情况和任务的运行进度汇报给JobTracker,同时接收JobTracker 发送过来的命令并执行相应的操作(如启动新任务、杀死任务等)。TaskTracker 使用“slot”等量划分本节点上的资源量。“slot”代表计算资源(CPU、内存等)。一个Task 获取到一个slot 后才有机会运行,而Hadoop 调度器的作用就是将各个TaskTracker 上的空闲slot 分配给Task 使用。slot 分为Map slot 和Reduce slot 两种,分别供MapTask 和Reduce Task 使用。TaskTracker 通过slot 数目(可配置参数)限定Task 的并发度。
l 4 )Task
Ø Task 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动。HDFS 以固定大小的block 为基本单位存储数据,而对于MapReduce 而言,其处理单位是split。split 是一个逻辑概念,它只包含一些元数据信息,比如数据起始位置、数据长度、数据所在节点等。它的划分方法完全由用户自己决定。但需要注意的是,split 的多少决定了Map Task 的数目,因为每个split 只会交给一个Map Task 处理。
    hadoop1.x Mapreduce框架过程详解
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值