Hadoop 纱线:与群集大小相比,如何使用大量映射器运行MapReduce作业

Hadoop 纱线:与群集大小相比,如何使用大量映射器运行MapReduce作业,hadoop,mapreduce,scheduling,yarn,Hadoop,Mapreduce,Scheduling,Yarn,我有一个带有MapReduce作业的单节点Hadoop测试设置,它可以启动96个映射器和6个还原器。在迁移到纱线之前,此作业表现稳定但正常。随着纱线的出现,它开始100%挂起,大多数制图员都处于“待定”状态 作业实际上是6个子作业(16个映射器+1个还原器)。此配置反映了生产过程顺序。所有这些都在单一作业控制下。与集群大小相比,对于节点数量较少且作业相对较大的情况,是否有任何配置需要检查或最佳实践 当然,我关心的不是性能,而是开发人员通过这项工作的能力。最坏的情况是,我可以用分组子作业“减少作业

我有一个带有MapReduce作业的单节点Hadoop测试设置,它可以启动96个映射器和6个还原器。在迁移到纱线之前,此作业表现稳定但正常。随着纱线的出现,它开始100%挂起,大多数制图员都处于“待定”状态

作业实际上是6个子作业(16个映射器+1个还原器)。此配置反映了生产过程顺序。所有这些都在单一作业控制下。与集群大小相比,对于节点数量较少且作业相对较大的情况,是否有任何配置需要检查或最佳实践

当然,我关心的不是性能,而是开发人员通过这项工作的能力。最坏的情况是,我可以用分组子作业“减少作业”,但我不想这样做,因为在生产中没有理由这样做,我希望测试和生产顺序相同

当我迁移到Thread时,调度程序被更改为FairScheduler,目前它是我运行Cloudera时的唯一选项,Cloudera强烈建议不要使用任何东西,而只能使用
fair scheduler
。因此,切换到FIFO调度程序不是一个选项


除了“重新设计作业”之外,我还有其他选择吗?

目前解决了我禁用“每个用户队列”逻辑(切换到单个队列)和使用分配文件限制正在运行的应用程序数量的问题。根据这一点,您几乎可以为每个队列配置所需的任何内容

以下是实际步骤:

  • 默认队列设置为false
  • 在Cloudera manager中,队列“默认”的动态资源分配已更改,因此队列允许运行的应用程序不超过2个。足以作为单节点设计测试工具。在开源中,这将是对分配文件的更正
现在可以根据需要工作了。保留了包括默认策略在内的所有内容