Amazon web services 达到256个挂起/运行作业限制后,AWS EMR如何反应?

Amazon web services 达到256个挂起/运行作业限制后,AWS EMR如何反应?,amazon-web-services,emr,Amazon Web Services,Emr,据 AWS EMR“从AMI 3.1.1(Hadoop 2.x)和AMI 2.4.8(Hadoop 1.x)开始,您可以在长时间运行的集群的生命周期内提交无限数量的步骤,但在任何给定时间只有256个处于活动或挂起状态” 我的问题是: 如果已达到256个限制,您将在何处以及如何找到其余已提交的作业 EMR是否保留提交作业的队列,当作业完成(成功/失败)时,它将从“不可见的客户端作业队列”中选择另一个作业 如果EMR有这样一个队列(如第2节所述),它将保留这些作业多长时间 我们是否可以通过EMR

AWS EMR“从AMI 3.1.1(Hadoop 2.x)和AMI 2.4.8(Hadoop 1.x)开始,您可以在长时间运行的集群的生命周期内提交无限数量的步骤,但在任何给定时间只有256个处于活动或挂起状态”

我的问题是:

  • 如果已达到256个限制,您将在何处以及如何找到其余已提交的作业

  • EMR是否保留提交作业的队列,当作业完成(成功/失败)时,它将从“不可见的客户端作业队列”中选择另一个作业

  • 如果EMR有这样一个队列(如第2节所述),它将保留这些作业多长时间

  • 我们是否可以通过EMR API访问256个作业之外的提交作业

  • 我期待你的回答/

    问候,


    Florin

    我与亚马逊支持中心进行了讨论,他们给出了以下答案:

    “1.该限制由EMR Step API规定(在AWS方面),而不是通过Thread或Spark本身。这是您在控制台中查看群集属性并导航到群集详细信息中的“步骤”或从CLI进行“列出步骤”调用时看到的。您将知道何时达到此限制,因为当您通过步骤API提交新步骤时(通过控制台或CLI的“添加步骤”调用),您将收到一个错误,指出已经有256个步骤处于运行或挂起状态,并且该步骤将不被接受。因此,不会有该步骤提交的记录

  • 我不知道如何准确地回答这个问题,所以我只解释一下EMR集群将如何处理作业。在运行Hadoop 2.x的集群中,Thread(集群的资源管理器)负责跟踪作业。当作业提交给Thread(作为一个步骤通过AWS api或直接提交给Thread)时Thread将跟踪提交的作业,并在集群的调度程序和资源允许的情况下对其进行处理。step API只是一个抽象层,允许您利用AWS API向Thread提交作业,而无需直接访问集群,而是使用EMR服务端点。当step API收到请求时,该信息on由群集上名为“实例控制器”的守护进程收集,并作为作业提交传递给Thread。步骤提交可在群集的“步骤”选项卡上的控制台中的详细信息中查看,通过访问群集的外壳并运行“Thread application-list-appStates ALL”可查看Thread作业。作业按顺序处理提交和/或优先级,取决于所用纱线调度程序的配置

  • 集群将在集群的生命周期内跟踪每个作业

  • 同样,我想澄清的是,该限制特定于通过EMR步骤API提交的作业;如果需要,作业仍然可以通过自己的API直接提交给YARN,并且您可以分别访问挂起/活动步骤列表和YARN作业

  • 纱线在存储和管理信息方面具有巨大的容量;step API的限制与存储层有关,存储层将有关集群配置的持久信息保存在EMR后端。”

    我的简历,经AWS支持团队确认:

    • EMR作业API提出了256个作业限制,这是一个硬限制

    • 作为一个客户,当我达到极限时,我会得到一个例外,即这个极限 已到达,所有步骤提交都将被拒绝

    • 当达到此限制时,仍然可以通过Thread客户端提交作业

    我希望这些将帮助其他有这些问题的人

    问候,,
    Florin

    因此,为了澄清我的疑问,AWS EMR不支持通过维护作业队列来提交“无限数量”的作业,而是需要安装一些资源管理器,如YARN,以便处理这些传入请求并配置作业提交和资源管理。我的理解正确吗?