一个节点上运行的任务数目主要由两个因素决定,一个是 NodeManager 可使用的资源总量,一个是单个任务的资源需求量,比如一个 NodeManager 上可用资源为 8 GB 内存, 8 cpu ,单个任务资源需求量为 1 GB 内存, 1cpu ,则该节点最多运行 8 个任务。
NodeManager 上可用资源是由管理员在配置文件 yarn-site.xml 中配置的,相关参数如下:
yarn.nodemanager.resource.memory-mb :总的可用物理内存量,默认是 8096
yarn.nodemanager.resource.cpu-vcores :总的可用 CPU 数目,默认是 8
对于 MapReduce 而言,每个作业的任务资源量可通过以下参数设置:
mapreduce.map.memory.mb :物理内存量,默认是 1024
mapreduce.map.cpu.vcores : CPU 数目,默认是 1
默认情况,各个调度器只会对内存资源进行调度,不会考虑 CPU 资源,你需要在调度器配置文件中进行相关设置。
收起