我目前手头有一个任务,要在一段设定的时间(基于某些指标)之后终止长时间运行的EMR集群。 Google Dataproc在此处列出的称为“群集预定删除”的功能中具有此功能:https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/scheduled-deletion
这在EMR上是可能的吗?也许使用Cloudwatch指标?还是我可以编写一个长时间运行的jar,该jar将位于EMR主节点上,并且只对 yarn 进行轮询以获取一些空闲时间度量,然后在设置的时间段后关闭集群?
编辑:更多说明。我想要一些功能,其中群集根据闲置时间x终止。例如如果集群已经启动了一段时间,但没有工作运行了1个小时,而集群只是坐在那里无所事事,那么我希望能够终止集群。
最佳答案
最简单的方法将用于Amazon EMR Metrics and Dimensions for Amazon CloudWatch。有一个isIdle
bool 值,“表明集群不再执行工作”。
您可以创建一个CloudWatch警报,如果该警报显示True的时间超过x分钟,则触发该警报。这会将消息发送到Amazon SNS,后者可以触发Lambda函数以关闭集群。
组件:
更新:这显然不合适(请参见下面的评论)。
另一种方法是:
关于amazon-web-services - 一段时间后如何自动终止AWS EMR集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49806543/