将 AWS EMR 集群自动扩展到 0 个节点

Autoscaling AWS EMR cluster to 0 nodes

交叉发帖来自:https://forums.aws.amazon.com/thread.jspa?messageID=766424

嘿,

正在尝试将此策略应用于核心实例组:

{
    "Constraints": {
        "MinCapacity": 0,
        "MaxCapacity": 2
    },
    "Rules": [
        {
            "Name": "ScaleUp",
            "Action": {
                "Market": "ON_DEMAND",
                "SimpleScalingPolicyConfiguration": {
                    "AdjustmentType": "EXACT_CAPACITY",
                    "ScalingAdjustment": 5,
                    "CoolDown": 300
                }
            },
            "Trigger": {
                "CloudWatchAlarmDefinition": {
                    "ComparisonOperator": "GREATER_THAN",
                    "MetricName": "AppsPending",
                    "Threshold": 0,
                    "Period": 300
                }
            }
        },
        {
            "Name": "ScaleDown",
            "Action": {
                "Market": "ON_DEMAND",
                "SimpleScalingPolicyConfiguration": {
                    "AdjustmentType": "EXACT_CAPACITY",
                    "ScalingAdjustment": 0,
                    "CoolDown": 300
                }
            },
            "Trigger": {
                "CloudWatchAlarmDefinition": {
                    "ComparisonOperator": "LESS_THAN_OR_EQUAL",
                    "MetricName": "AppsRunning",
                    "Threshold": 0,
                    "Period": 300
                }
            }
        }
    ]
}

但是我收到这个错误:

An error occurred (ValidationException) when calling the PutAutoScalingPolicy operation: Auto Scaling constraint parameter minCapacity should be at least 1 for Core Instance Group.

我不是 EMR 方面的专家,但根据文档我认为这是可能的(我可以在 UI 中手动创建一个仅主集群,为什么会存在这种差异?)。主节点 运行 按照 cron 计划执行作业,当它启动时它会生成作业,然后 AutoScaling 启动核心实例来处理它,在作业完成后缩减规模。

有什么建议吗?

谢谢,亚历克斯

PS。为了阐明功能要求,我正在尝试 运行 master 上的 zeppelin 仪表板服务,让它每 24 小时启动一次批处理作业,这将需要几个节点,然后在其余时间缩小回 0 个节点.如果我一头雾水,很高兴考虑其他建议来实现这一目标。

的确,您可以在没有任何核心节点的情况下启动 single-node、master-only 集群,但这是一种特殊的 "cluster",它在 master 上运行所有内容。无法从 multi-node 集群过渡到 single-node 集群,反之亦然。因此,核心实例组至少有 1 个实例,即使在使用自动缩放时也是如此。

单节点集群不可扩展。您需要至少有一个核心节点和主节点。因此,在应用扩展策略时,核心节点的最小数量应为 1。

请从AWS文档中找到截图:

详情请参考link: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-scale-on-demand.html