

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

# 有什么新内容？
<a name="emr-whatsnew"></a>

本页介绍了 Amazon EMR 7.x、6.x 和 5.x 最新发行版中的更改和可用功能。

这些发行说明还可在亚马逊 EM [R 7.13.0、亚马逊 EMR 6.15.0](emr-7130-release.md) [和 Amazon](emr-5362-release.md) [EMR](emr-6150-release.md) 5.36.2 页面上找到，以及每个版本的应用程序版本、组件版本和可用配置分类。
+ 有关早期发行版的发布说明，请参阅 [发布说明的 Amazon EMR 存档](emr-whatsnew-history.md)。
+ 要在新的 Amazon EMR 发行版可用时接收更新，请订阅 [RSS 源以获取 Amazon EMR 发布说明](https://docs.amazonaws.cn/emr/latest/ReleaseGuide/amazon-emr-release-notes.rss)。

**注意**  
更高版本的 Amazon EMR 使用 Amazon 签名版本 4 (SigV4) 来验证向 Amazon S3 发出的请求。我们建议您使用支持 SigV4 的 Amazon EMR 发行版，这样您可以访问新的 S3 存储桶，避免工作负载中断。有关更多信息和支持 SigV4 的 Amazon EMR 发行版列表，请参阅 [亚马逊 EMR 和 Amazon 签名版 4](#emr-sigv4)。

## Apache Spark 升级和故障排除代理
<a name="emr-spark-agents-whatsnew"></a>

**Apache Spark 升级代理**

适用于亚马逊 EMR 的 Apache Spark 升级代理是一项对话式 AI 功能，可加速 EMR 应用程序的 Apache Spark 版本升级。传统的 Spark 升级需要数月的工程工作来分析 API 更改、解决依赖关系冲突和验证功能正确性。该代理通过自然语言提示、自动代码转换和数据质量验证来简化升级过程。

您可以使用代理升级在 EC2 上的 Amazon EMR PySpark 和 Amazon EMR Serverless 上运行的 Scala 应用程序。代理会分析您的代码，识别所需的更改，并执行自动转换，同时保持您对所有修改的审批控制。有关更多详细信息，请参阅[什么是亚马逊 EMR 的 Apache Spark 升级代理](spark-upgrades.md)。

**Apache 火花故障排除代理**

适用于亚马逊 EMR 的 Apache Spark 故障排除代理是一种对话式 AI 功能，可简化亚马逊 EMR、 Amazon Glue 和亚马逊笔记本电脑上的 Apache Spark 应用程序的故障排除。 SageMaker 传统的 Spark 故障排除需要对日志、性能指标和错误模式进行大量手动分析，以确定根本原因和代码修复。代理通过自然语言提示、自动工作负载分析和智能代码建议来简化此过程。

您可以使用代理来排除故障 PySpark 和 Scala 应用程序故障。代理会分析您失败的作业，识别性能瓶颈，并提供可行的建议和代码修复，同时让您完全控制实施决策。有关更多详细信息，请参阅[什么是 Amazon EMR 的 Apache Spark 故障排除代理](spark-troubleshoot.md)。

## 亚马逊 EMR 7.13.0（7.x 系列的最新版本）
<a name="emr-7130-whatsnew"></a>

从初始发布日期的第一个区域开始，新的 Amazon EMR 发行版将在几天内陆续在不同区域提供。在此期间，您所在区域可能无法提供最新发行版。

以下发行说明包含 Amazon EMR 7.13.0 版本的信息。

### 新增内容
<a name="emr-7130-whatsnew"></a>
+ **Python 3.11 默认为 Spark 工作负载** — Python 3.11 现在是 Spark 工作负载的默认 Python 版本。 PySpark PySpark Python 3.9 仍然是所有其他应用程序的默认设置。Python 3.9 和 3.11 都包含在该版本中。

### 更改、增强功能和解决的问题
<a name="emr-7130-changes"></a>
+ **冰山配置属性** — Amazon EMR 7.13 添加了一个新的 Iceberg 配置属性。`spark.sql.catalog.spark_catalog.route-non-iceberg-drop-to-session-catalog`如果设置为`true`，则在中的非 Iceberg 托管表`DROP TABLE`上`SparkSessionCatalog`会同时删除表元数据和底层 Amazon S3 数据。默认值为 `false`。

### 应用程序升级
<a name="emr-7130-app-upgrades"></a>

此版本升级了以下应用程序：
+ HBase 2.6.4-amzn-0（从 2.6.2-amzn-3 升级）
+ Hadoop 3.4.2-amzn-0（从 3.4.1-amzn-4 升级）
+ Phoenix 5.3.0（从 5.2.1 升级）
+ Hudi 1.0.2-amzn-2（从 1.0.2-amzn-1 升级）
+ Trino 479-amzn-1（从 476-amzn-1 升级）
+ Amazon SDK v2 2.42.12（从 2.35.5 升级）
+ Amazon SDK v1 1.12.797（从 1.12.792 升级）
+ Spark 3.5.6-amzn-2、Hive 3.1.3-amzn-22、Tez 0.10.2-amzn-20、Presto 0.287-amzn-7、Iceberg 1.10.0-amzn-1、Delta 3.3.2-amzn-2、Flink 1.20.0-amzn-7、3.9.3-amzn-5（amzn 补丁碰撞） ZooKeeper 

### 已知问题和限制
<a name="emr-7130-known-issues"></a>

此版本中没有已知问题。

## Amazon EMR 6.15.0（6.x 系列的最新版本）
<a name="emr-6150-whatsnew"></a>

从初始发布日期的第一个区域开始，新的 Amazon EMR 发行版将在几天内陆续在不同区域提供。在此期间，您所在区域可能无法提供最新发行版。

以下发布说明包括有关 Amazon EMR 发行版 6.15.0 的信息。更改与 6.14.0 有关。有关发布时间表的更多信息，请参阅 [6.15.0 更改日志](emr-6150-release.md#6150-changelog)。

**新特征**
+ **应用程序升级**：Amazon EMR 6.15.0 application upgrades include Apache Hadoop 3.3.6, Apache Hudi 0.14.0-amzn-0, Iceberg 1.4.0-amzn-0, and Trino 426.
+ **[在 EC2 上运行的 EMR 集群启动更快](https://www.amazonaws.cn/about-aws/whats-new/2023/11/amazon-emr-ec2-clusters-5-minutes-less/)**：现在，在 EC2 集群上启动 Amazon EMR 的速度最多可提高 35%。通过这一改进，大多数客户可以在 5 分钟或更短时间内启动集群。
+ **[CodeWhisperer 对于 EMR Studio](https://docs.amazonaws.cn/emr/latest/ManagementGuide/emr-studio-codewhisperer.html)** — 您现在可以将 CodeWhisperer 亚马逊与 Amazon EMR Studio 配合使用，在编写代码时获得实时推荐。 JupyterLab CodeWhisperer 可以完成您的注释、完成单行代码、提出 line-by-line建议并生成完整格式的函数。
+ **[使用 Flink 可以缩短作业重启时间](https://docs.amazonaws.cn/emr/latest/ReleaseGuide/flink-restart.html)**：在 Amazon EMR 6.15.0 及更高版本中，Apache Flink 有几种新机制可用于缩短任务恢复或扩展操作期间的作业重启时间。这样可以优化执行图的恢复和重启速度，从而提高作业稳定性。
+ **[开放表格式的表级和细粒度访问控制](https://docs.amazonaws.cn/emr/latest/ManagementGuide/emr-lf-enable.html)** — 在 Amazon EMR 6.15.0 及更高版本中，当您在访问 G Amazon lue 数据目录中数据的 EC2 集群上在 Amazon EMR 上运行 Spark 作业时， Amazon Lake Formation 您可以使用对基于 Hudi、Iceberg 或 Delta Lake 的表应用表、行、列和单元格级别的权限。
+ **Hadoop 升级**：Amazon EMR 6.15.0 包括将 Apache Hadoop 升级到版本 3.3.6。Hadoop 3.3.6 是 Apache 于 2023 年 6 月发布 Amazon EMR 6.15 部署时的最新版本。之前发布的 Amazon EMR 版本（6.9.0 至 6.14.x）使用了 Hadoop 3.3.3。

  此次升级包括数百项改进和修复，以及包括可重新配置的数据节点参数的功能、在所有实时数据节点上启动批量重新配置操作的 `DFSAdmin` 选项，以及允许搜索量大的读者指定多个要读取的范围的向量化 API。Hadoop 3.3.6 还增加了对 HDFS APIs 的支持及其预写日志 (WAL) 的语义，因此 HBase 可以在其他存储系统实现上运行。有关更多信息，请参阅 *Apache Hadoop 文档*中的 [3.3.4](https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-common/release/3.3.4/CHANGELOG.3.3.4.html)、[3.3.5](https://hadoop.apache.org/docs/r3.3.5/hadoop-project-dist/hadoop-common/release/3.3.5/CHANGELOG.3.3.5.html) 和 [3.3.6](https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/release/3.3.6/CHANGELOG.3.3.6.html) 版本的变更日志。
+ **支持 Amazon 适用于 Java 的 SDK，版本 2** [——亚马逊 EMR 6.15.0 应用程序可以使用 Amazon 适用于 Java 的 SDK 版本 [1.12.569 或 2.20.16](https://github.com/aws/aws-sdk-java/tree/1.12.569) 0（如果应用程序支持 v2）。](https://github.com/aws/aws-sdk-java-v2/tree/2.20.160) Amazon 适用于 Java 2.x 的 SDK 是对 1.x 版本代码库的重大改写。它基于 Java 8\+ 构建，并增加了几个请求次数较多的功能。其中包括对非阻塞 I/O 的支持以及在运行时系统插入不同 HTTP 实现的功能。有关更多信息，包括**从 SDK for Java v1 到 v2 的迁移指南**，请参阅 [Amazon SDK for Java 版本 2](https://docs.amazonaws.cn/sdk-for-java) 指南。

**已知问题**
+ 当节点上有大量线程 and/or 打开文件句柄时，监控实例运行状况的集群实例状态脚本可能会消耗过多的 CPU 和内存资源。

**更改、增强功能和解决的问题**
+  从 Spark 3.3.1（EMR 6.10 及更高版本支持）开始，停用主机中的所有执行程序都会设置为新的 `ExecutorState`，称为 *DECOMMISSIONING* 状态。Yarn 不能使用正在停用的执行程序来分配任务，因此如果需要，它将为正在执行的任务请求新的执行程序。因此，如果您在 EMR-EC2 集群上使用 EMR 托管扩展、EMR 自动扩缩或任何自定义扩展机制时禁用 Spark DRA，则 Yarn 可能会为每个作业请求允许的最大执行程序数。为了避免出现此问题，在使用上述功能组合时，请将 `spark.dynamicAllocation.enabled` 属性设置为 `TRUE`（默认值）。此外，您还可以通过为 Spark 作业设置 `spark.dynamicAllocation.maxExecutors` 和 `spark.dynamicAllocation.minExecutors` 属性的值来设置最小和最大执行程序约束，以限制作业执行期间分配的执行程序数量。
+ 为了改进您的高可用性 EMR 集群，此发行版允许在使用 IPv6 端点的本地主机上连接到 Amazon EMR 进程守护程序。
+ 此版本启用 TLS 1.2，以便 ZooKeeper 在您的高可用性集群的所有主节点上进行通信。
+ 此版本改进了对主节点上维护的 ZooKeeper 事务日志文件的管理，以最大限度地减少日志文件越界增长并中断集群操作的情况。
+ 此发行版使高可用性 EMR 集群的节点内通信更具弹性。此改进减小了引导操作失败或集群启动失败的几率。
+ Amazon EMR 6.15.0 中的 Tez 引入了配置，您可以指定这些配置来异步打开 Tez 分组拆分中的输入拆分。当单个 Tez 分组拆分中有大量输入拆分时，这样可以提高读取查询的性能。有关更多信息，请参阅 [Tez 异步拆分打开](https://docs.amazonaws.cn/emr/latest/ReleaseGuide/tez-configure.html#tez-configure-async)。
+ 当您使用 Amazon EMR 5.36 或更高版本、6.6 或更高版本或 7.0 或更高版本的*最新补丁版本*启动集群时，Amazon EMR 会使用最新的 Amazon Linux 2023 或 Amazon Linux 2 发行版作为默认 Amazon EMR AMI。如需更多信息，请参阅 [Using the default Amazon Linux AMI for Amazon EMR](https://docs.amazonaws.cn/emr/latest/ManagementGuide/emr-default-ami.html)。    
[See the AWS documentation website for more details](http://docs.amazonaws.cn/emr/latest/ReleaseGuide/emr-whatsnew.html)

## Amazon EMR 5.36.2（5.x 系列的最新版本）
<a name="emr-5362-whatsnew"></a>

从初始发布日期的第一个区域开始，新的 Amazon EMR 发行版将在几天内陆续在不同区域提供。在此期间，您所在区域可能无法提供最新发行版。

以下发布说明包括有关 Amazon EMR 版本 5.36.2 的信息。更改与 5.36.1 有关。有关发布时间表的信息，请参阅[更改日志](https://docs.amazonaws.cn/emr/latest/ReleaseGuide/emr-5362-release.html#5362-changelog)。

**更改、增强功能和解决的问题**
+ 此版本改进了集群缩减逻辑，使 Amazon EMR 不会将核心节点缩减到低于集群 HDFS 复制因子设置的范围。此改进满足了数据冗余要求，并降低了扩展操作停止的可能性。
+ 此版本为运行 Presto 或 Trino 的 EMR 集群的集群扩展工作流程添加了新的重试机制。此改进降低了由于单个调整大小操作失败而导致集群调整大小无限期运行的风险。它还可以提高集群利用率，因为您的集群可以更快地向上和向下扩展。
+ 修复了一个问题，当 Amazon EMR 正常停用核心节点时，集群缩减操作可能会停止，并在完全停用之前运行状况不佳。
+ 当 Amazon EMR 重新启动单个节点时，提高了具有多个主节点的高可用性集群中节点的稳定性。
+ 通过在 Amazon EC2 上运行的 Amazon EMR 优化日志管理。因此，您可能会看到集群日志的存储成本略有降低。
+ 改进了对主节点上维护的 ZooKeeper 事务日志文件的管理，以最大限度地减少日志文件越界增长并中断集群操作的情况。
+ 修复了一个罕见的错误，该错误可能导致具有多个主节点的高可用性集群因无法与 Yarn ResourceManager 通信而发生故障。
+ 当您使用 Amazon EMR 5.36 或更高版本、6.6 或更高版本或 7.0 或更高版本的*最新补丁版本*启动集群时，Amazon EMR 会使用最新的 Amazon Linux 2023 或 Amazon Linux 2 发行版作为默认 Amazon EMR AMI。如需更多信息，请参阅 [Using the default Amazon Linux AMI for Amazon EMR](https://docs.amazonaws.cn/emr/latest/ManagementGuide/emr-default-ami.html)。    
[See the AWS documentation website for more details](http://docs.amazonaws.cn/emr/latest/ReleaseGuide/emr-whatsnew.html)

## 亚马逊 EMR 和 Amazon 签名版 4
<a name="emr-sigv4"></a>

亚马逊 EMR 版本使用 Amazon 签名版本 4 (SigV4) 来验证向 Amazon S3 发出的请求。2020 年 6 月 24 日之后在 Amazon S3 中创建的存储桶不支持由签名版本 2（SigV2）签名的请求。2020 年 6 月 24 日或之前创建的存储桶将继续支持 SigV2。建议您迁移到支持 SigV4 的 Amazon EMR 发行版，这样您可以访问新的 S3 存储桶，避免工作负载中断。

如果您使用的是 Amazon EMR 中包含的应用程序，例如 Apache Spark、Apache Hive 和 Presto，则无需更改应用程序代码即可使用 SigV4。如果您使用的是 Amazon EMR 中未包含的自定义应用程序，则可能需要更新代码才能使用 SigV4。有关更多信息，请参阅《Amazon S3 用户指南》中的[从签名版本 2 转向签名版本 4](https://docs.amazonaws.cn/AmazonS3/latest/dev/UsingAWSSDK.html#UsingAWSSDK-move-to-Sig4)。

以下 Amazon EMR 发行版支持 SigV4：emr-4.7.4, emr-4.8.5, emr-4.9.6, emr-4.10.1, emr-5.1.1, emr-5.2.3, emr-5.3.2, emr-5.4.1, emr-5.5.4, emr-5.6.1, emr-5.7.1, emr-5.8.3, emr-5.9.1, emr-5.10.1, emr-5.11.4, emr-5.12.3, emr-5.13.1, emr-5.14.2, emr-5.15.1, emr-5.16.1, emr-5.17.2, emr-5.18.1, emr-5.19.1, emr-5.20.1, emr-5.21.2, and emr-5.22.0 and higher。所有的 6.x 和 7.x 发行版都支持 SigV4。