如何通过内存和 vcore 配置使 Hadoop YARN 更快?
How to make Hadoop YARN faster with memory and vcore configuration?
在 Hadoop YARN 上,如果我有更多的容器来 运行 映射任务或减少任务,处理作业会变得更快吗?
因此,如果当我使容器分配内存小于默认值时,这是真的,我可以在主机上获得更多容器 运行,并使作业更快。
那么 vcore 呢,我的意思是如果我们有更多的容器到 运行,但是它会 运行 一个一个地根据 vcore 分配,对吗?也就是说,不管容器多还是少,都是运行一个接一个。
不,任务可以 运行 并行。
让我们假设您的 YARN 集群有 24 个核心和 96 GB 内存。
mapreduce.map.cpu.vcores
和 mapreduce.reduce.cpu.vcores
的默认值为 1
因此,您可以启动 24 个容器,每个容器具有 4 个 GM 内存,并且它们可以 运行 并行。如果您的作业需要超过 24 个容器,那么最初将启动前 24 个任务,并在所需资源(容器)可用时立即启动后续任务。
在 Hadoop YARN 上,如果我有更多的容器来 运行 映射任务或减少任务,处理作业会变得更快吗?
因此,如果当我使容器分配内存小于默认值时,这是真的,我可以在主机上获得更多容器 运行,并使作业更快。
那么 vcore 呢,我的意思是如果我们有更多的容器到 运行,但是它会 运行 一个一个地根据 vcore 分配,对吗?也就是说,不管容器多还是少,都是运行一个接一个。
不,任务可以 运行 并行。
让我们假设您的 YARN 集群有 24 个核心和 96 GB 内存。
mapreduce.map.cpu.vcores
和 mapreduce.reduce.cpu.vcores
的默认值为 1
因此,您可以启动 24 个容器,每个容器具有 4 个 GM 内存,并且它们可以 运行 并行。如果您的作业需要超过 24 个容器,那么最初将启动前 24 个任务,并在所需资源(容器)可用时立即启动后续任务。