TaskTracker内部原理——启动新任务

本文深入解析Hadoop中TaskTracker的任务启动和本地化过程,包括作业和任务的运行环境构造、JVM的复用策略以及资源分配。TaskTracker通过独立的JVM为每个任务提供运行空间,并在满足条件时进行JVM的复用或启动新的JVM,确保任务执行的高效和隔离。
摘要由CSDN通过智能技术生成

任务启动过程

作业本地化

本地化指在TaskTracker上为作业和任务构造一个运行环境,包括创建作业和任务的工作目录,从HDFS上下载运行任务相关的文件,可分为作业本地化和任务本地化。

作业的第一个任务负责为该作业本地化,后续任务负责任务本地化。

启动任务

为了避免不同任务之间相互干扰,TaskTracker为各个任务启动了独立的JVM,JVM相当于包含一定资源量的容器,每个任务可在该容器内使用其资源运行。
JVM启动过程:

  • 如果已启动JVM数目低于上限数目(Map slot或者Reduce slot数目),则直接启动JVM。否则进入下一步
  • 查找当前TaskTracker所有已经启动的JVM,找出满足下面条件的JVM:①当前状态空闲②复用次数未超过上限次数③与将要启动的任务同属一个作业,如果找到这样的JVM,则可继续复用而无需启动新的JVM,否则进入下一步。
  • 查找当前TaskTracker所有已经启动的JVM,如果满足下面条件,则直接将该JVM杀掉,启动一个新的JVM:①复用次数已达到上线数目且与新任务同属一个作业②当前处于空闲状态但与新任务不属于一个作业。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值