EMR有一个 引导操作 功能,您可以在其中运行初始化群集时启动的脚本。我已经使用了这个功能以及一个启动脚本来监视群集在线的时间并在一段时间后自行终止。
我使用基于此脚本的脚本进行引导操作。 https://github.com/thomhopmans/themarketingtechnologist/blob/master/6_deploy_spark_cluster_on_aws/files/terminate_idle_cluster.sh
基本上创建一个检查/ proc / uptime的脚本以查看EC2机器已经联机多长时间,并且在正常运行时间超过您的时间限制之后,您可以向群集发送关闭命令。