Hadoop Yarn - 如何请求修复容器数量

时间:2015-10-08 19:27:15

标签: hadoop apache-spark yarn

Apache Spark或Hadoop Mapreduce如何请求固定数量的容器?

在Spark yarn-client模式下,可以通过设置配置 spark.executor.instances 来请求它,这与它获取的YARN容器数量直接相关。 Spark如何将其转换为Yarn理解的Yarn参数?

我知道默认情况下,它可能取决于拆分数量和配置值 yarn.scheduler.minimum-allocation-mb yarn.scheduler.minimum-allocation-vcores 。但Spark能够准确地请求固定数量的容器。怎么可以做到这一点?

2 个答案:

答案 0 :(得分:0)

在Hadoop Map reduce中,地图任务的容器数根据输入分割数决定。它基于源文件的大小。对于每个输入拆分,将请求一个地图容器。

默认情况下,每个作业的Reducer数量为1。它可以通过将参数传递给mapreduce.reduce.tasks来自定义。猪与猪Hive具有不同的逻辑来决定减速器的数量。 (这也可以定制)。

每个Reducer将请求一个容器(Reduce容器,通常大于map容器)。

映射器总数&在作业提交期间,将在作业配置文件中明确定义reducer。

答案 1 :(得分:0)

我认为是使用纱线提供的AM api。 AM提供商可以使用rsrcRequest.setNumContainers(numContainers); http://hadoop.apache.org/docs/r2.5.2/hadoop-yarn/hadoop-yarn-site/WritingYarnApplications.html#Writing_a_simple_Client 在这里,我对其他问题进行了类似的讨论。 Yarn container understanding and tuning