最新消息 - Amazon EMR
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

最新消息

本主题介绍 Amazon EMR 6.x 系列和 5.x 系列的当前发布版本中的功能和已解决的问题。发布版本 6.1.0 选项卡发布版本 5.31.0 选项卡上也提供了这些发布说明,以及应用程序版本、组件版本和此发布版本的可用配置分类。

https://docs.amazonaws.cn/emr/latest/ReleaseGuide/amazon-emr-release-notes.rss 订阅 Amazon EMR 发行说明的 RSS 源,以便在有新的 Amazon EMR 发布版本可用时接收更新。

有关回到发布版本 4.2.0 的早期版本发布说明,请参阅Amazon EMR 新增功能历史记录

注意

早期的 25 个 Amazon EMR 发布版本现在使用 AWS 签名版本 4 对发送到 Amazon S3 的请求进行身份验证。AWS 签名版本 2 正在淘汰,在 2020 年 6 月 24 日后创建的新 S3 存储桶将不支持签名版本 2 签名的请求。现有存储桶将会继续支持签名版本 2。我们建议您迁移到支持签名版本 4 的 Amazon EMR 版本,这样您可以继续访问新的 S3 存储桶,避免工作负载中断。

现在提供支持签名版本 4 的以下 EMR 版本: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。EMR 版本 5.22.0 及更高版本已支持签名版本 4。

如果您使用的是诸如 Apache Spark、Apache Hive、Presto 之类的 Amazon EMR 应用程序,则无需更改您的应用程序代码,即可使用签名版本 4。如果您使用的是 Amazon EMR 中未包含的自定义应用程序,则可能需要更新代码,才能使用签名版本 4。有关可能需要哪些更新的更多信息,请参阅从签名版本 2 转向签名版本 4

发布版本 6.1.0(Amazon EMR 6.x 系列的最新版本)

New Amazon EMR release versions are made available in different regions over a period of several days, beginning with the first region on the initial release date. The latest release version may not be available in your region during this period.

以下发布说明包含有关 Amazon EMR 发布版本 6.1.0 的信息。更改是相对于 6.1.0 而言的。

首次发布日期:2020 年 9 月 4 日

上次更新日期:2020 年 10 月 15 日

支持的应用程序

  • AWS SDK for Java 版本 1.11.828

  • Flink 版本 1.11.0

  • Ganglia 版本 3.7.2

  • Hadoop 版本 3.2.1-amzn-1

  • HBase 版本 2.2.5

  • HBase-operator-tools 1.0.0

  • HCatalog 版本 3.1.2-amzn-0

  • Hive 版本 3.1.2-amzn-1

  • Hudi 版本 0.5.2-incubating

  • Hue 版本 4.7.1

  • JupyterHub 版本 1.1.0

  • Livy 版本 0.7.0

  • MXNet 版本 1.6.0

  • Oozie 版本 5.2.0

  • Phoenix 版本 5.0.0

  • Presto 版本 0.232

  • PrestoSQL 版本 338

  • Spark 版本 3.0.0

  • TensorFlow 版本 2.1.0

  • Zeppelin 版本 0.9.0-preview1

  • Zookeeper 版本 3.4.14

  • 连接器和驱动程序:DynamoDB 连接器 4.14.0

新功能

  • 从 Amazon EMR 版本 5.30.0 和 Amazon EMR 版本 6.1.0 开始支持 ARM 实例类型。

  • 从 Amazon EMR 版本 6.1.0 开始支持 M6g 通用实例类型。有关更多信息,请参阅 Amazon EMR 管理指南中的支持的实例类型

  • 自 Amazon EMR 版本 5.23.0 开始,支持将 EC2 置放群组功能用作多主节点集群的选项。目前,置放群组功能仅支持主节点类型,并且 SPREAD 策略将应用于这些主节点。SPREAD 策略在单独的底层硬件中放置一小组实例,以防止在发生硬件故障时丢失多个主节点。有关更多信息,请参阅 Amazon EMR 管理指南 中的 EMR 与 EC2 置放群组的集成

  • 托管扩展 – 使用 Amazon EMR 版本 6.1.0 时,您可以启用 EMR 托管扩展,以根据工作负载自动增加或减少集群中实例或单元的数量。EMR 会持续评估集群指标,以便做出扩展决策,从而优化集群的成本和速度。托管扩展也适用于 Amazon EMR 版本 5.30.0 及更高版本(版本 6.0.0 除外)。有关更多信息,请参阅 Amazon EMR 管理指南 中的扩展集群资源

  • EMR 6.1.0 支持 PrestoSQL 版本 338。有关更多信息,请参阅配置 Docker 集成

    • 仅 EMR 6.1.0 和更高版本支持 PrestoSQL,而 EMR 6.0.0 或 EMR 5.x 不支持。

    • 应用程序名称 Presto 继续用于在集群上安装 PrestoDB。要在集群上安装 PrestoSQL,请使用应用程序名称 PrestoSQL

    • 您可以安装 PrestoDB 或 PrestoSQL,但不能在单个集群上同时安装这两者。如果在尝试创建集群时同时指定了 PrestoDB 和 PresoSQL,则会发生验证错误,并且集群创建请求会失败。

    • 单主集群和多主集群都支持 PrestoSQL。在多主集群上,运行 PrestoSQL 或 PrestoDB 需要外部 Hive 元存储。请参阅具有多个主节点的 EMR 集群中支持的应用程序

  • 在 Apache Hadoop 和带有 Docker 的 Apache Spark 上的 ECR 自动身份验证支持:Spark 用户可以使用来自 Docker Hub 和 Amazon Elastic Container Registry (Amazon ECR) 的 Docker 映像来定义环境和库依赖关系。

    配置 Docker使用 Amazon EMR 6.0.0 通过 Docker 运行 Spark 应用程序

  • EMR 支持 Apache Hive ACID 事务:Amazon EMR 6.1.0 添加了对 Hive ACID 事务的支持,因此它符合数据库的 ACID 属性。借助此功能,您可以对 Hive 托管表以及 Amazon Simple Storage Service (Amazon S3) 中的数据运行 INSERT、UPDATE、DELETE 和 MERGE 操作。这是下面这些使用案例的关键功能:例如,流式处理摄取、数据重新声明、使用 MERGE 进行批量更新以及缓慢更改维度。有关更多信息(包括配置示例和使用案例),请参阅 Amazon EMR 支持 Apache Hive ACID 事务

更改、增强和解决的问题

  • 在 EMR 6.0.0 上不支持 Apache Flink,但在使用 Flink 1.11.0 的 EMR 6.1.0 上支持它。这是第一个正式支持 Hadoop 3 的 Flink 版本。请参阅 Apache Flink 1.11.0 版本公告

  • 已从默认 EMR 6.1.0 程序捆绑包中删除了 Ganglia。

已知问题

  • 如果使用 spark.driver.extraJavaOptionsspark.executor.extraJavaOptions 设置自定义垃圾回收配置,则由于垃圾回收配置冲突,这将导致 EMR 6.1 发生驱动程序/执行程序启动失败。使用 EMR 版本 6.1.0,您应该使用属性 spark.driver.defaultJavaOptionsspark.executor.defaultJavaOptions 为驱动程序和执行程序指定自定义 Spark 垃圾收集配置。详细了解 Apache Spark 运行时环境在 Amazon EMR 6.1.0 上配置 Spark 垃圾回收

  • 将 Pig 与 Oozie 结合使用(以及与 Hue 结合使用,因为 Hue 使用 Oozie 操作来运行 Pig 脚本)会生成一个错误,指出无法加载 native-lzo 库。此错误消息是信息性的,不会阻止 Pig 运行。

  • Hudi 并发支持:目前 Hudi 不支持对单个 Hudi 表进行并发写入。此外,Hudi 会回滚正在运行的编写器所做的任何更改,然后再允许新的编写器启动。并发写入可能会干扰此机制并引入竞争条件,从而导致数据损坏。您应确保:作为数据处理工作流程的一部分,随时只有一个 Hudi 写入器对 Hudi 表进行操作。Hudi 的确支持针对同一 Hudi 表运行多个并发读取器。

  • Known issue in clusters with multiple master nodes and Kerberos authentication

    If you run clusters with multiple master nodes and Kerberos authentication in EMR releases 5.20.0 and later, you may encounter problems with cluster operations such as scale down or step submission, after the cluster has been running for some time. The time period depends on the Kerberos ticket validity period that you defined. The scale-down problem impacts both automatic scale-down and explicit scale down requests that you submitted. Additional cluster operations can also be impacted.

    Workaround:

    • SSH as hadoop user to the lead master node of the EMR cluster with multiple master nodes.

    • Run the following command to renew Kerberos ticket for hadoop user.

      kinit -kt <keytab_file> <principal>

      Typically, the keytab file is located at /etc/hadoop.keytab and the principal is in the form of hadoop/<hostname>@<REALM>.

    注意

    This workaround will be effective for the time period the Kerberos ticket is valid. This duration is 10 hours by default, but can configured by your Kerberos settings. You must re-run the above command once the Kerberos ticket expires.

发布版本 5.31.0(Amazon EMR 5.x 系列的最新版本)

New Amazon EMR release versions are made available in different regions over a period of several days, beginning with the first region on the initial release date. The latest release version may not be available in your region during this period.

以下发布说明包含有关 Amazon EMR 发布版本 5.31.0 的信息。更改是相对于 5.30.1 而言的。

首次发布日期:2020 年 10 月 9 日

上次更新日期:2020 年 10 月 15 日

升级

  • 已将 Amazon Glue 连接器升级到版本 1.13.0

  • 已将 Amazon SageMaker Spark 开发工具包升级到版本 1.4.0

  • 已将 Amazon Kinesis 连接器升级到版本 3.5.9

  • 已将 AWS Java 开发工具包升级到版本 1.11.852

  • 已将 Bigtop-tomcat 升级到版本 8.5.56

  • 已将 EMR FS 升级到版本 2.43.0

  • 已将 EMR MetricsAndEventsApiGateway Client 升级到版本 1.4.0

  • 已将 EMR S3 Dist CP 升级到版本 2.15.0

  • 已将 EMR S3 Select 升级到版本 1.6.0

  • 已将 Flink 升级到版本 1.11.0

  • 已将 Hadoop 升级到版本 2.10.0

  • 已将 Hive 升级到版本 2.3.7

  • 已将 Hudi 升级到版本 0.6.0

  • 已将 Hue 升级到版本 4.7.1

  • 已将 JupyterHub 升级到版本 1.1.0

  • 已将 MXNet 升级到版本 1.6.0

  • 已将 OpenCV 升级到版本 4.3.0

  • 已将 Presto 升级到版本 0.238.3

  • 已将 TensorFlow 升级到版本 2.1.0

更改、增强和解决的问题

  • 升级了组件版本。

  • 5.31.0 中对 EMRFS S3EC V2 的支持。在 S3 Java 开发工具包 1.11.837 及更高版本中,引入了加密客户端版本 2 (S3EC V2) 以及各种安全增强功能。有关更多信息,请参阅下列内容:

    为了实现向后兼容,加密客户端 V1 仍在开发工具包中可用。

新功能

  • 利用 Amazon EMR 5.31.0,您可以启动与 Lake Formation 集成的集群。这种集成可提供对 AWS Glue Data Catalog 中数据库和表的细粒度列级数据筛选。此外,它可实现从企业身份系统对 EMR 笔记本或 Apache Zeppelin 的联合身份单点登录。有关更多信息,请参阅 Amazon EMR 管理指南中的将 Amazon EMR 与 AWS Lake Formation 集成

    带有 Lake Formation 的 Amazon EMR 目前在 16 个 AWS 区域提供:美国东部(俄亥俄州和弗吉尼亚州)、美国西部(加利福尼亚州和俄勒冈州)、亚太地区(孟买、首尔、新加坡、悉尼和东京)、加拿大(中部)、欧洲(法兰克福、爱尔兰、伦敦、巴黎和斯德哥尔摩)、南美洲(圣保罗)。

已知问题

  • Known issue in clusters with multiple master nodes and Kerberos authentication

    If you run clusters with multiple master nodes and Kerberos authentication in EMR releases 5.20.0 and later, you may encounter problems with cluster operations such as scale down or step submission, after the cluster has been running for some time. The time period depends on the Kerberos ticket validity period that you defined. The scale-down problem impacts both automatic scale-down and explicit scale down requests that you submitted. Additional cluster operations can also be impacted.

    Workaround:

    • SSH as hadoop user to the lead master node of the EMR cluster with multiple master nodes.

    • Run the following command to renew Kerberos ticket for hadoop user.

      kinit -kt <keytab_file> <principal>

      Typically, the keytab file is located at /etc/hadoop.keytab and the principal is in the form of hadoop/<hostname>@<REALM>.

    注意

    This workaround will be effective for the time period the Kerberos ticket is valid. This duration is 10 hours by default, but can configured by your Kerberos settings. You must re-run the above command once the Kerberos ticket expires.