단계적 서비스 해제 기능이 있는 자동 조정 사용
Amazon EMR 릴리스 버전 5.30.0 이상에는 특정 조정 작업에 대한 유예 기간을 설정하는 데 사용할 수 있는 기능이 포함되어 있습니다. 스케일 인 조정 작업 또는 자동 조정 정책 요청으로 인해 노드가 종료되기 전에 유예 기간을 통해 Presto 작업을 계속 실행할 수 있습니다. 조정 규칙에 대한 자세한 내용은 Amazon EMR 관리 안내서에서 자동 조정 규칙 이해를 참조하세요. 단계적 서비스 해제를 포함하는 Presto 자동 조정을 사용하면 서비스 해제 중인 노드에 새 작업이 예약되지 않도록 하는 동시에 종료 제한 시간에 도달하기 전에 이미 실행 중인 작업이 완료되도록 할 수 있습니다. 실행 중인 쿼리는 노드에 대해 서비스 해제가 수행되기 전에 실행을 완료합니다. 자동 조정은 인스턴스 플릿에서 지원되지 않습니다.
자동 조정 종료 요청을 받은 후 Presto 작업을 완료하는 데 걸리는 시간을 제어할 수 있습니다. 기본적으로 Amazon EMR에 대한 종료 제한 시간은 0
분입니다. 따라서 스케일 인 요청에 의해 필요한 경우 Amazon EMR은 노드 및 모든 Presto 작업을 즉시 종료합니다. 클러스터를 스케일 다운하기 전에 실행 중인 쿼리가 완료될 수 있도록 Amazon EMR에서 Presto 작업에 더 긴 제한 시간을 설정하려면 presto-config
구성 분류를 사용하여 graceful-shutdown-timeout
파라미터를 0보다 큰 값(초 또는 분)으로 설정합니다. 자세한 내용은 애플리케이션 구성 단원을 참조하십시오.
예를 들어 graceful-shutdown-timeout
값을 "30m"
으로 늘리면 30분의 제한 시간이지정됩니다. 종료 제한 시간이 종료된 후, 쿼리 작업이 완료될 때까지 대기 중인 경우 서비스 해제 중으로 표시된 노드가 강제로 종료되고 쿼리가 실패합니다. 쿼리 작업이 5분 내에 완료되는 경우, 다른 YARN 애플리케이션이 실행을 완료하면 서비스 해제 중으로 표시된 노드가 5분되는 시점에 종료됩니다.
예 단계적 서비스 해제가 있는 Presto 자동 조정 구성 예제
graceful-shutdown-timeout
값을 설정에 적절한 시간(분)으로 바꿉니다. 최대값이 없습니다. 다음 예제에서는 1800
초(30분)의 제한 시간 값을 설정합니다.
[ { "classification": "presto-config", "properties": { "graceful-shutdown-timeout": "1800s" } } ]
제한 사항
PrestoDB 단계적 서비스 해제는 http-server.http.enabled
가 false
로 설정된 경우와 같이 HTTP 연결이 비활성화된 EMR 클러스터에서는 작동하지 않습니다. Trino는 http-server.http.enabled
설정과 관계없이 단계적 서비스 해제를 전혀 지원하지 않습니다.