hadoop中slot简介(map slot 和 reduce slot)

简介: Slots是Hadoop的一个重要概念。然而在Hadoop相关论文,slots的阐述难以理解。网上关于slots的概念介绍也很少,而对于一个有经验的Hadoop开发者来说,他们可能脑子里已经理解了slots的真正含义,但却难以清楚地表达出来,Hadoop初学者听了还是云里雾里。我来尝试讲解一下,以期抛砖引玉。首先,slot不是CPU的Core,也不是memory chip,它是一个逻辑概念

Slots是Hadoop的一个重要概念。然而在Hadoop相关论文,slots的阐述难以理解。网上关于slots的概念介绍也很少,而对于一个有经验的Hadoop开发者来说,他们可能脑子里已经理解了slots的真正含义,但却难以清楚地表达出来,Hadoop初学者听了还是云里雾里。我来尝试讲解一下,以期抛砖引玉。


首先,slot不是CPU的Core,也不是memory chip,它是一个逻辑概念,一个节点的slot的数量用来表示某个节点的资源的容量或者说是能力的大小,因而slot是 Hadoop的资源单位。


Hadoop利用slots来管理分配节点的资源。每个Job申请资源以slots为单位,每个节点会确定自己的计算能力以及memory确自己包含的slots总量。当某个Job要开始执行时,先向JobTracker申请slots,JobTracker分配空闲的slots,Job再占用slots,Job束后,归还slots。每个TaskTracker定期(例如淘宝Hadoop心跳周期是5s)通过心跳(hearbeat)与Jobtracker通信,一方面汇报自己当前工作状态,JobTracker得够某个TaskTracker是否Alive;同时汇报自身空闲slots数量。JobTracker利用某个调度规则,如Hadoop默认调器FIFO或者Capacity Scheduler、FairScheduler等。(注:淘宝Hadoop使用云梯调度器YuntiScheuler,它是基于Fair Scheduler行修改的)。


Hadoop里有 两种slots, map slots和reduce slots,map task使用map slots,一一对应,reduce task使用reduce slots。注: 在越来越多的观点认为应该打破map slots与 reduce slots的界限,应该被视为统一的资源池,they are all resource,从而提高资的利用率。区分map slots和reduce slots,容易导致某一种资源紧张,而另一个资源却有空闲。在Hadoop的下一代框架MapR中,已经取消了map slots与reduce slots的概,并将Jobtracker的功能一分为二,用ResourceManager来管理节点资源,用ApplicationMaster来监控与调度作业。ApplicationMaster是每个Application都有一个单独的实例,application是用户提交的一组任务,它可以是一个或多个job的任务组成。


Hadoop中通常每个tasktracker会包含多个slots,Job的一个task均对应于tasktracker中的一个slot。系统中map slots总数与reducer slots总数的计算公式如下:

Map slots总数=集群节点数×mapred.tasktracker.map.tasks.maximum

Reducer slots总数=集群节点数×mapred.tasktracker.reduce.tasks.maximum


本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1697269

目录
相关文章
|
4月前
|
消息中间件 分布式计算 大数据
【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)
【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)
72 0
|
4月前
|
分布式计算 并行计算 Hadoop
【云计算与大数据计算】分布式处理CPU多核、MPI并行计算、Hadoop、Spark的简介(超详细)
【云计算与大数据计算】分布式处理CPU多核、MPI并行计算、Hadoop、Spark的简介(超详细)
102 0
|
6月前
|
SQL 机器学习/深度学习 开发框架
04 Hadoop生态圈以及各组成部分的简介
04 Hadoop生态圈以及各组成部分的简介
29 0
|
8月前
|
SQL 分布式计算 资源调度
Hadoop简介和体系架构
Hadoop简介和体系架构
204 0
|
9月前
|
存储 SQL 分布式计算
Hadoop生态系统简介及其在大数据处理中的作用
Hadoop生态系统简介及其在大数据处理中的作用
|
9月前
|
分布式计算 算法 Hadoop
Hadoop简介、安装与环境变量配置
Hadoop简介、安装与环境变量配置
233 1
|
存储 分布式计算 监控
Hadoop简介、安装
hadoop平台是一个可靠的、可扩展的、可分布式计算的开源软件。 Apache Hadoop平台是一个框架,允许使用简单的编程模型。该平台被设计成可以从单个服务器扩展到数千台服务器,每台服务器都提供本地计算和存储。该平台也被设计成可检测和处理应用层的故障(即高可用、高容错),高可用服务是基于计算机集群的,并且每一台计算机有可能出错。 #### hadoop应用:
196 0
|
分布式计算 Java Hadoop
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
|
存储 SQL 分布式计算
Hadoop核心组成和生态系统简介
Hadoop核心组成和生态系统简介
Hadoop核心组成和生态系统简介
|
分布式计算 Hadoop
Hadoop学习:MapReduce不使用Reduce将表合并提高效率
Hadoop学习:MapReduce不使用Reduce将表合并提高效率
113 0

相关实验场景

更多