[hadoop] slot

slot

slot是一个逻辑概念,是Hadoop中的资源单位。

Hadoop利用slot来管理分配节点的资源。每个Job申请资源以slot为单位,每个节点会根据自己的计算能力和memory来确定自己包含多少个slot并报告给JobTracker。当某个Job要开始执行时,先向JobTracker申请slots,JobTracker分配空闲的slots,Job宣布占用这些slots,在结束后归还这些slots。每个TaskTracker定期和Jobtracker通信,因此Jobtracker能够实时得知每个Task的状态,同时知道每个TaskTracker是否有空闲的slots。

JobTracker分配slots即为调度,Hadoop默认的调度方式是FIFO。

Hadoop中有两种slots:map slot和reduce slot,分别对应map task和reduce task。(为了提高资源利用率,Hadoop正在逐步取消这个分类,将Jobtracker一分为二,用ResourceManager来管理节点资源,用ApplicationMaster来监控与调度作业)