Состояние кластера является доступным параметром, и есть несколько способов получить к нему доступ в зависимости от того, как вы хотите внедрить решение.
Вы можете использовать CLI (или соответствующий SDK на вашем языке по вашему выбору). ) запросить статус кластера. Учитывая, что вы используете bash, это может выглядеть следующим образом:
aws emr create-cluster \
--name "${JOB_NAME}" \
<some other flags>
--auto-terminate \
--steps \
<some steps>
aws emr list-clusters --created-after CURRENT-TIME
# pull out CLUSTER-ID for the result of the above CLI call in whatever method you prefer
aws emr describe-cluster --cluster-id CLUSTER-ID
# setup a loop as needed to poll the cluster status as it moves from provisioning to a definite state (active, terminated, etc).
В качестве альтернативы, учитывая, что кажется, что вы не держите кластеры EMR снаружи, когда они выполняют задания, вы можете использоватьЧтобы исключить список кластеров в активном состоянии, выполните следующие действия: (ЗАПУСК, ЗАГРУЗКА, ВЫПОЛНЕНИЕ, ОЖИДАНИЕ или ПРЕКРАЩЕНИЕ)
aws emr list-clusters --active
Если вы предпочитаете подход pubsub, вы также можете настроить Сигналы тревоги CloudWatch для задания EMR . Это руководство демонстрирует, как вы можете настроить тему SNS, на которую другое приложение может подписаться на , чтобы получать обновления статуса для вашего задания EMR при изменении состояния.
Независимо от вашего выбора, если вычтобы получить более детальное представление о состоянии и поведении кластера, у вас есть широкий выбор метрик , для которых вы можете либо настроить сигналы тревоги CloudWatch, либо напрямую опросить.