

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用采用 Graceful Decommission 的 Presto 自动扩展配置
<a name="presto-graceful-autoscale"></a>

Amazon EMR 发行版 5.30.0 及更高版本包含一项可用于为某些扩展操作设置宽限期的功能。宽限期允许 Presto 任务在节点因横向缩减大小调整操作或自动扩展策略请求而终止之前继续运行。有关扩展规则的更多信息，请参阅《Amazon EMR 管理指南》**中的[了解自动扩展规则](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html#emr-scaling-rules)。采用 Graceful Decommission 的 Presto 弹性伸缩配置可防止在正在停用的节点上计划新任务，同时允许在达到关机超时之前完成已在运行的任务。正在运行的查询将在节点停用之前完成执行。实例集不支持弹性伸缩。

您可以控制在收到自动扩展关闭请求后必须完成 Presto 任务的时间长度。默认情况下，Amazon EMR 的关闭超时为 `0` 分钟，这意味着如果缩减请求需要，则 Amazon EMR 会立即终止节点及其上运行的任何 Presto 任务。要为 Amazon EMR 上进行的 Presto 任务设置更长的超时，以允许在缩减集群之前完成正在运行的查询，请使用 `presto-config` 配置分类将 `graceful-shutdown-timeout` 参数设置为大于零的值（单位为秒或分钟）。有关更多信息，请参阅[配置应用程序](emr-configure-apps.md)。

例如，将 `graceful-shutdown-timeout` 值增大至 `"30m"` 以指定 30 分钟的超时时段。在关闭超时期结束后，如果标记为停用的节点正在等待查询任务完成，则系统将强制终止该节点，查询失败。如果查询任务在 5 分钟内完成，则系统将在到达 5 分钟时终止标记为停用的节点，前提是其他 YARN 应用程序已完成执行。

**Example 采用 Graceful Decommission 的 Presto 自动扩展配置示例**  
将 `graceful-shutdown-timeout` 值替换为适合您的设置的分钟数。没有最大值。下面的示例将超时值设置为 `1800` 秒（30 分钟）。  

```
[
    {
        "classification": "presto-config",
        "properties": {
            "graceful-shutdown-timeout": "1800s"
        }
    }
]
```

**限制**

PrestoDB Graceful Decommission 不适用于禁用 HTTP 连接的 EMR 集群，例如 `http-server.http.enabled` 设置为 `false` 时。Trino完全不支持 Graceful Decommission，不论 `http-server.http.enabled` 设置如何。