[英]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
}
}
}
]
}
但是我收到了这个错误:
调用PutAutoScalingPolicy操作时发生错误(ValidationException):对于核心实例组,Auto Scaling约束参数minCapacity应至少为1。
我不是EMR的专家,但是我认为这是可能的文档(我可以在UI中手动创建一个仅限主集群,为什么存在这种差异?)。 主节点正在cron调度上运行作业,当启动它时会生成作业,然后AutoScaling会激活核心实例来处理它,在作业完成时缩减。
有什么建议么?
谢谢,亚历克斯
PS。 为了阐明功能要求,我试图在master上运行zeppelin仪表板服务,让它每24小时启动一次批处理作业,这将需要一些节点,然后在其余时间缩减回0节点。 很高兴考虑其他建议,如果我有错误的结束。
确实,您可以在没有任何核心节点的情况下启动单节点,仅限主节点的集群,但这是一种特殊的“集群”,它可以运行主节点上的所有内容。 无法从多节点群集转换为单节点群集,反之亦然。 因此,即使使用自动缩放,核心实例组也至少有1个实例。
单节点群集不可扩展。 您需要至少有一个核心节点以及主节点。 因此,在应用扩展策略时,最小核心节点数应为1。
有关详细信息,请参阅链接: https : //docs.aws.amazon.com/emr/latest/ManagementGuide/emr-scale-on-demand.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.