Uso del escalado automático de Presto con la retirada estable
Las versiones 5.30.0 y posteriores de Amazon EMR incluyen una característica que puede utilizar para establecer un periodo de gracia para determinadas acciones de escalado. El periodo de gracia permite que las tareas de Presto se ejecuten antes de que se termine el nodo debido a una acción de cambio para reducir horizontalmente o a una solicitud de política de escalado automático. Para obtener más información sobre las reglas de escalado, consulte Descripción de las reglas de escalado automático en la Guía de administración de Amazon EMR. El escalado automático con retirada estable de Presto evita que se programen nuevas tareas en un nodo que se está retirando, mientras que, al mismo tiempo, permite que las tareas que ya se están ejecutando se completen antes de que se alcance el tiempo de espera de cierre. Las consultas que se están ejecutando terminarán de ejecutarse antes de que se retire el nodo. El escalado automático no se admite en las flotas de instancias.
Puede controlar el tiempo que tardarán en completarse las tareas de Presto después de recibir una solicitud de cierre con escala automática. De forma predeterminada, el tiempo de espera de cierre de Amazon EMR es de 0
minutos, lo que significa que Amazon EMR termina inmediatamente el nodo y cualquier tarea de Presto que se ejecute en él, si así lo requiere una solicitud de escalado. Para establecer un tiempo de espera más largo para las tareas de Presto en Amazon EMR para permitir que las consultas en ejecución se completen antes de reducir la capacidad de un clúster, utilice la clasificación de configuración presto-config
para establecer el parámetro graceful-shutdown-timeout
en un valor de segundos o minutos mayores que cero. Para obtener más información, consulte Configuración de aplicaciones.
Por ejemplo, cuando se aumenta el valor de graceful-shutdown-timeout
a "30m"
, se especifica un periodo de 30 minutos. Una vez finalizado el periodo de tiempo de espera de cierre, se aplica un cierre forzoso al nodo marcado para retirada si está esperando a que se completen las tareas de consulta y se produce un error en la consulta. Si las tareas de consulta finalizan en cinco minutos, el nodo marcado para retirada terminará, siempre que otras aplicaciones de YARN hayan completado la ejecución.
ejemplo Ejemplo de configuración de escalado automático con retirada estable de nodos
Reemplace el valor de graceful-shutdown-timeout
por el número de minutos apropiado para su configuración. No hay ningún valor máximo. El siguiente ejemplo establece un valor de tiempo de espera de 1800
segundos (30 minutos).
[ { "classification": "presto-config", "properties": { "graceful-shutdown-timeout": "1800s" } } ]
Limitaciones
PrestoDB Graceful Decommission no funciona en clústeres de EMR en los que la conectividad HTTP está deshabilitada, por ejemplo, cuando http-server.http.enabled
está configurada en false
. Trino no es compatible en absoluto con Graceful Decommission, independientemente de la configuración http-server.http.enabled
.