0

我在 AWS 上运行具有自动缩放功能的 k8s 集群。我使用集群来运行 Spark(master + workers)。其中一部分是工作节点的以下节点组:

managedNodeGroups:
  - name: mng0
    instanceType: m5.large
    desiredCapacity: 0
    privateNetworking: false # if only 'Private' subnets are given, this must be enabled
    minSize: 4
    maxSize: 50
    securityGroups:
      attachIDs: xxxxx
    iam:
      withAddonPolicies:
        autoScaler: true
        cloudwatch: true

使用此设置,我始终至少有 4 个节点可用于“热启动”,以防火花作业进入,以避免 +-2 分钟。现在,如果第二个 Spark 作业请求节点(并且 >4 个节点都已启动),那么第二个作业必须再次等待更多节点启动。我想创造一种情况,即始终立即获取新的火花作业,而没有“启动新节点”的开销。这对我来说尤其重要,因为数据集大小变化很大(从 MB 到 TB)并且用于探索性分析以及 ETL,我想要对小型数据集进行探索性分析

问题:我可以指定准备好接受新 Spark 作业的空闲/等待/备用节点的数量吗?

这是实现我想要的正确方法,还是有更好的方法?

4

0 回答 0