hadoop-yarn-如何请求固定数量的容器

tjrkku2a  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(453)

apachespark或hadoopmapreduce如何请求固定数量的容器?
在spark yarn客户端模式下,可以通过设置配置spark.executor.instances来请求它,该配置与它获得的Yarn容器的数量直接相关。spark如何将其转换为Yarn可以理解的Yarn参数?
我知道在默认情况下,它可以依赖于拆分的数量和配置值 yarn.scheduler.minimum-allocation-mb , yarn.scheduler.minimum-allocation-vcores . 但spark有能力精确地请求固定数量的容器。我怎么能这么做?

jjjwad0x

jjjwad0x1#

在hadoopmapreduce中,map任务的容器数量是根据输入拆分的数量来决定的。它基于源文件的大小。对于每个输入拆分,将请求一个Map容器。
默认情况下,每个作业的减速器数为1。它可以通过向mapreduce.reduce.tasks传递参数进行自定义。pig&hive有不同的逻辑来决定减速机的数量这也可以定制)。
每个还原器将请求一个容器(还原容器,通常比Map容器大)。
作业提交期间,将在作业配置文件中明确定义Map器和还原器的总数。

o2rvlv0m

o2rvlv0m2#

我认为是通过使用yarn提供的amapi。am提供程序可以使用 rsrcRequest.setNumContainers(numContainers); http://hadoop.apache.org/docs/r2.5.2/hadoop-yarn/hadoop-yarn-site/writingyarnapplications.html#writing_a_simple_client 在这里,我对其他问题进行了类似的讨论。Yarn容器理解和调整

相关问题