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

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

Amazon EMR 新增功能历史记录

下面提供了所有 Amazon EMR 发布版本的发布说明。有关每个版本的全面版本信息,请参阅 Amazon EMR 5.x 发布版本Amazon EMR 4.x 发布版本

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

版本 6.1.0

以下发布说明包含有关 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.

版本 6.0.0

以下发布说明包括有关 Amazon EMR 发布版本 6.0.0 的信息。

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

支持的应用程序

  • AWS SDK for Java 版本 1.11.711

  • Ganglia 版本 3.7.2

  • Hadoop 版本 3.2.1

  • HBase 版本 2.2.3

  • HCatalog 版本 3.1.2

  • Hive 版本 3.1.2

  • Hudi 版本 0.5.0-incubating

  • Hue 版本 4.4.0

  • JupyterHub 版本 1.0.0

  • Livy 版本 0.6.0

  • MXNet 版本 1.5.1

  • Oozie 版本 5.1.0

  • Phoenix 版本 5.0.0

  • Presto 版本 0.230

  • Spark 版本 2.4.4

  • TensorFlow 版本 1.14.0

  • Zeppelin 版本 0.9.0-SNAPSHOT

  • Zookeeper 版本 3.4.14

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

注意

Flink、Sqoop、Pig 和 Mahout 在 Amazon EMR 版本 6.0.0 中不可用。

新功能

更改、增强和解决的问题

  • Amazon Linux

    • Amazon Linux 2 是 EMR 6.x 发布版本系列的操作系统。

    • systemd 用于服务管理,而不是 Amazon Linux 1 中使用的 upstart

  • Java 开发工具包 (JDK)

    • Coretto JDK 8 是 EMR 6.x 发布版本系列的默认 JDK。

  • Scala

    • Scala 2.12 与 Apache Spark 和 Apache Livy 一起使用。

  • Python 3

    • Python 3 现在是 EMR 中的默认 Python 版本。

  • YARN 节点标签

    • 从 Amazon EMR 6.x 发布版本系列开始,默认情况下禁用 YARN 节点标签功能。默认情况下,应用程序主进程可以在核心节点和任务节点上运行。您可以通过配置以下属性来启用 YARN 节点标签功能:yarn.node-labels.enabledyarn.node-labels.am.default-node-label-expression。有关更多信息,请参阅了解主节点、核心节点和任务节点

已知问题

  • Spark 交互式 shell(包括 PySpark、SparkR 和 spark-shell)不支持将 Docker 与其他库一起使用。

  • 要将 Python 3 与 Amazon EMR 版本 6.0.0 一起使用,您必须将 PATH 添加到 yarn.nodemanager.env-whitelist

  • 当您使用 AWS Glue 数据目录作为 Hive 的元存储时,不支持长时间和处理 (LLAP) 功能。

  • 将 Amazon EMR 6.0.0 与 Spark 和 Docker 集成结合使用时,您需要将集群中的实例配置为相同的实例类型和相同数量的 EBS 卷,以避免在使用 Docker 运行时提交 Spark 作业时失败。

  • 在 Amazon EMR 6.0.0 中,Amazon S3 存储模式上的 HBase 受到 HBASE-24286 问题的影响。使用现有 S3 数据创建集群时,HBase 主服务器无法初始化。

  • 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.30.1

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

首次发布日期:2020 年 6 月 30 日

上次更新日期:2020 年 8 月 24 日

更改、增强和解决的问题

  • 修复了实例控制器进程产生不限数量的进程的问题。

  • 修复了 Hue 无法运行 Hive 查询,同时显示“数据库已锁定”消息并阻止查询执行的问题。

  • 修复了 Spark 问题,以便在 EMR 集群上同时运行更多任务。

  • 修复了一个 Jupyter 笔记本问题,该问题导致 Jupyter 服务器中“打开的文件过多”。

  • 修复了集群启动时间的问题。

新功能

  • Tez UI 和 YARN 时间线服务器持久性应用程序接口可用于 Amazon EMR 6.x 版本和 EMR 版本 5.30.1 及更高版本。通过一键式链接访问永久应用程序历史记录,您可以快速访问作业历史记录,而无需通过 SSH 连接设置 Web 代理。活动的集群和终止的集群的日志在应用程序结束后 30 天内提供。有关更多信息,请参阅 Amazon EMR 管理指南 中的查看持久性应用程序用户界面

  • 可使用 EMR 笔记本执行 API 通过脚本或命令行执行 EMR 笔记本。无需通过 AWS 控制台即可启动、停止、列出和描述 EMR 笔记本执行,可让您通过编程方式控制 EMR 笔记本。使用参数化的笔记本单元格,可以将不同的参数值传递给笔记本,而无需为每组新的参数值创建笔记本的副本。请参阅 EMR API 操作。 有关示例代码,请参阅以编程方式执行 EMR 笔记本的示例命令

已知问题

  • EMR 笔记本

    默认情况下,在 EMR 版本 5.30.1 上禁用允许您在集群主节点上安装内核和其他 Python 库的功能。有关此功能的更多信息,请参阅在集群主节点上安装内核和 Python 库

    要启用此功能,请执行以下操作:

    1. 确保附加到 EMR Notebooks 的服务角色的权限策略允许以下操作:

      elasticmapreduce:ListSteps

      有关更多信息,请参阅 EMR 笔记本的服务角色

    2. 使用 AWS CLI 在集群上运行一个步骤来设置 EMR 笔记本,如以下示例中所示。有关更多信息,请参阅使用 AWS CLI 向集群添加步骤

      aws emr add-steps --cluster-id MyClusterID --steps 'Type=CUSTOM_JAR,Name=EMRNotebooksSetup,ActionOnFailure=CONTINUE,Jar=s3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar,Args=["s3://awssupportdatasvcs.com/bootstrap-actions/EMRNotebooksSetup/emr-notebooks-setup.sh"]'
  • 托管扩展

    在未安装 Presto 的 5.30.0 和 5.30.1 集群上执行托管扩展操作可能会导致应用程序故障或导致统一的实例组或实例队列保持 ARRESTED 状态,特别是在执行扩展操作后快速执行缩减操作的情况下。

    作为一种解决方法,选择 Presto 作为要在创建集群时安装的应用程序,即使您的作业不需要 Presto 也是如此。

  • 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.30.0

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

首次发布日期:2020 年 5 月 13 日

上次更新日期:2020 年 6 月 25 日

升级

  • 已将 AWS SDK for Java 升级到版本 1.11.759

  • 已将 Amazon SageMaker Spark SDK 升级到版本 1.3.0

  • 已将 EMR 记录服务器升级到版本 1.6.0

  • 已将 Flink 升级到版本 1.10.0

  • 已将 Ganglia 升级到版本 3.7.2

  • 已将 HBase 升级到版本 1.4.13

  • 已将 Hudi 升级到 0.5.2-incubating

  • 已将 Hue 升级到版本 4.6.0

  • 已将 JupyterHub 升级到版本 1.1.0

  • 已将升级 Livy 到版本 0.7.0-incubating

  • 已将 Oozie 升级到版本 5.2.0

  • 已将 Presto 升级到版本 0.232

  • 已将 Spark 升级到版本 2.4.5

  • 升级的连接器和驱动程序:Amazon Glue Connector 1.12.0;Amazon Kinesis Connector 3.5.0;EMR DynamoDB Connector 4.14.0

新功能

  • EMR Notebooks – 当与使用 5.30.0 创建的 EMR 集群结合使用时,EMR 笔记本 内核在集群上运行。这可以提高笔记本的性能,并允许您安装和自定义内核。您还可以在集群主节点上安装 Python 库。有关详细信息,请参阅《EMR 管理指南》中的安装并使用内核和库

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

  • 加密 Amazon S3 中存储的日志文件 – 使用 Amazon EMR 版本 5.30.0 及更高版本时,您可以使用 AWS KMS 客户管理的密钥对 Amazon S3 中存储的日志文件进行加密。有关详细信息,请参阅Amazon EMR 管理指南 中的加密 Amazon S3 中存储的日志文件

  • 亚马逊 Linux 2 支持 – 在 EMR 版本 5.30.0 及更高版本中,EMR 使用 Amazon Linux 2 操作系统。新的自定义 AMI(Amazon 系统映像)必须基于 Amazon Linux 2 AMI。有关更多信息,请参阅使用自定义 AMI

  • Presto 正常自动扩展 – 使用 5.30.0 的 EMR 集群可以设置自动扩展超时时段,以便 Presto 任务在其节点停用之前有时间完成运行。有关更多信息,请参阅使用 Presto Auto Scaling with Graceful Decommission

  • 使用新的分配策略选项创建队列实例 – 在 EMR 版本 5.12.1 及更高版本中提供了新的分配策略选项。它提供了更快的集群预置、更准确的 Spot 分配和更少的 Spot 实例中断。需要更新非默认 EMR 服务角色。请参阅配置实例队列

  • sudo systemctl stop 和 sudo systemctl start 命令 – 在使用 Amazon Linux 2 操作系统的 EMR 版本 5.30.0 及更高版本中,EMR 使用 sudo systemctl stopsudo systemctl start 命令来重新启动服务。有关更多信息,请参阅如何在 Amazon EMR 中重启服务?

更改、增强和解决的问题

  • 默认情况下,EMR 版本 5.30.0 不安装 Ganglia。您可以在创建集群时明确选择 Ganglia 进行安装。

  • Spark 性能优化。

  • Presto 性能优化。

  • Python 3 是对于 Amazon EMR 版本 5.30.0 及更高版本的默认设置。

  • 用于私有子网中服务访问的默认托管安全组已使用新规则进行更新。如果使用自定义安全组进行服务访问,则必须包含与默认托管安全组相同的规则。有关详细信息,请参阅适用于服务访问(私有子网)的 Amazon EMR 托管安全组。如果您对 Amazon EMR 使用自定义服务角色,则必须向 ec2:describeSecurityGroups 授予权限,以便 EMR 可以验证安全组是否已正确创建。如果您使用 EMR_DefaultRole,则此权限已包含在默认托管策略中。

已知问题

  • 托管扩展

    在未安装 Presto 的 5.30.0 和 5.30.1 集群上执行托管扩展操作可能会导致应用程序故障或导致统一的实例组或实例队列保持 ARRESTED 状态,特别是在执行扩展操作后快速执行缩减操作的情况下。

    作为一种解决方法,选择 Presto 作为要在创建集群时安装的应用程序,即使您的作业不需要 Presto 也是如此。

  • 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.29.0

以下发布说明包括有关 Amazon EMR 发布版本 5.29.0 的信息。所述更改是相对于 5.28.1 而言的。

首次发布日期:2020 年 1 月 17 日

升级

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

  • 已将 Hive 升级到版本 2.3.6

  • 已将 Flink 升级到版本 1.9.1

  • 已将 EmrFS 升级到版本 2.38.0

  • 已将 EMR DynamoDB Connector 升级到版本 4.13.0

更改、增强和解决的问题

  • Spark

    • Spark 性能优化。

  • EMRFS

    • 管理指南更新为 emrfs-site.xml 默认设置,以实现一致视图。

已知问题

  • 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.28.1

以下发布说明包括有关 Amazon EMR 发布版本 5.28.1 的信息。所述更改是相对于 5.28.0 而言的。

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

更改、增强和解决的问题

  • Spark

    • 修复了 Spark 兼容性问题。

  • CloudWatch 指标

    • 修复了在具有多个主节点的 EMR 集群上发布的 Amazon CloudWatch Metrics。

  • 已禁用日志消息

    • 已禁用错误的日志消息“...using old version (<4.5.8) of Apache http client. (...使用旧版本(<4.5.8)的 Apache http 客户端。)”

已知问题

  • 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.28.0

以下发布说明包括有关 Amazon EMR 发布版本 5.28.0 的信息。所述更改是相对于 5.27.0 而言的。

首次发布日期:2019 年 11 月 12 日

升级

  • 已将 Flink 升级到版本 1.9.0

  • 已将 Hive 升级到版本 2.3.6

  • 已将 MXNet 升级到版本 1.5.1

  • 已将 Phoenix 升级到版本 4.14.3

  • 已将 Presto 升级到版本 0.227

  • 已将 Zeppelin 升级到版本 0.8.2

新功能

  • 创建集群时,Amazon EMR 现在可以使用 Apache Hudi 进行安装。有关更多信息,请参阅 Hudi(孵化版)

  • (2019 年 11 月 25 日)您现在可以选择并行运行多个步骤以提高集群利用率并节省成本。您还可以取消待处理和正在运行的步骤。有关更多信息,请参阅使用 AWS CLI 和控制台执行步骤

  • (2019 年 12 月 3 日)您现在可以在 AWS Outposts 上创建和运行 EMR 集群。AWS Outposts 可在本地设施中启用本地 AWS 服务、基础设施和运营模型。在 AWS Outposts 环境中,您可以使用与 AWS 云中相同的 AWS API、工具和基础设施。有关更多信息,请参阅 AWS Outposts 上的 EMR 集群

  • (2020 年 3 月 11 日)从 Amazon EMR 版本 5.28.0 开始,您可以在 AWS 本地扩展区 子网上创建和运行 Amazon EMR 集群,作为支持本地区域的 AWS 区域的逻辑扩展。本地区域使得 Amazon EMR 功能和 AWS 服务的子集(如计算和存储服务)在位置上与用户更近,对本地运行的应用程序提供非常低的延迟访问。有关可用 本地区域 的列表,请参阅 AWS 本地扩展区。有关访问可用 AWS 本地扩展区 的信息,请参阅区域、可用区和本地区域

    本地区域目前不支持 Amazon EMR 笔记本,也不支持使用接口 VPC 终端节点 (AWS PrivateLink) 直接连接到 Amazon EMR。

更改、增强和解决的问题

已知问题

  • 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.27.0

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

首次发布日期:2019 年 9 月 23 日

升级

  • AWS SDK for Java 1.11.615

  • Flink 1.8.1

  • JupyterHub 1.0.0

  • Spark 2.4.4

  • Tensorflow 1.14.0

  • 连接器和驱动程序:

    • DynamoDB Connector 4.12.0

新功能

  • (2019 年 10 月 24 日)所有 Amazon EMR 版本都提供 EMR 笔记本中的以下新功能。

    • 您现在可以将 Git 存储库与 EMR 笔记本关联,以将笔记本存储在版本控制的环境中。您可以通过远程 Git 存储库与同行共享代码,并重复使用现有 Jupyter 笔记本。有关更多信息,请参阅 Amazon EMR 管理指南 中的将 Git 存储库与 Amazon EMR 笔记本关联

    • EMR 笔记本中现在提供了 nbdime 实用程序,可简化笔记的比较与合并。 

    • EMR 笔记本现在支持 JupyterLab。JupyterLab 是与 Jupyter 笔记本完全兼容的基于 Web 的交互式开发环境。您现在可以选择在 JupyterLab 或 Jupyter 笔记本编辑器中打开笔记本。 

  • (2019 年 10 月 30 日)利用 5.25.0 版及更高版本的 Amazon EMR,您可以从控制台中的集群 Summary (摘要) 页面或 Application history (应用程序历史记录) 选项卡连接到 Spark 历史记录服务器 UI。无需通过 SSH 连接设置 Web 代理,您就可以快速访问 Spark 历史记录服务器 UI 来查看应用程序指标并访问活动和终止集群的相关日志文件。有关更多信息,请参阅 Amazon EMR 管理指南 中的对永久应用程序用户界面的集群外访问

更改、增强和解决的问题

已知问题

  • 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.26.0

以下发布说明包括有关 Amazon EMR 发布版本 5.26.0 的信息。与 5.25.0 相关的更改。

首次发布日期:2019 年 8 月 8 日

上次更新日期:2019 年 8 月 19 日

升级

  • AWS SDK for Java 1.11.595

  • HBase 1.4.10

  • Phoenix 4.14.2

  • 连接器和驱动程序:

    • DynamoDB 连接器 4.11.0

    • MariaDB 连接器 2.4.2

    • Amazon Redshift JDBC 驱动程序 1.2.32.1056

新功能

  • (测试版)从 Amazon EMR 5.26.0 开始,您可以启动与 Lake Formation 集成的集群。此集成提供对 AWS Glue Data Catalog 中的数据库和表的细粒度列级别访问。此外,它可实现从企业身份系统对 EMR 笔记本或 Apache Zeppelin 的联合身份单点登录。有关更多信息,请参阅将 Amazon EMR 与 AWS Lake Formation(测试版)集成

  • (2019 年 8 月 19 日)Amazon EMR 阻止公有访问现在适用于所有支持安全组的 Amazon EMR 版本。阻止公有访问是适用于每个 AWS 区域的账户范围内的设置。当与集群关联的任何安全组具有一个允许端口上来自 IPv4 0.0.0.0/0 或 IPv6 ::/0(公有访问)的入站流量的规则时,阻止公有访问将阻止集群启动,除非将端口指定为例外。默认情况下,端口 22 是一个例外。有关更多信息,请参阅 Amazon EMR 管理指南 中的使用 Amazon EMR 阻止公有访问

更改、增强和解决的问题

  • EMR 笔记本

    • 借助 EMR 5.26.0 及更高版本,除了默认 Python 库以外,EMR 笔记本 还支持笔记本范围的 Python 库。您可以从笔记本编辑器中安装笔记本范围的库,而无需重新创建集群或将笔记本重新附加到集群。笔记本范围的库是在 Python 虚拟环境中创建的,因此它们只适用于当前笔记本会话。这样使您能够隔离笔记本依赖项。有关更多信息,请参阅 Amazon EMR 管理指南 中的使用笔记本范围的库

  • EMRFS

    • 您可以通过将 fs.s3.consistent.metadata.etag.verification.enabled 设置为 true 来启用 ETag 验证功能(测试版)。借助此功能,EMRFS 使用 Amazon S3 ETag 验证所读取的对象是否为最新可用版本。此功能对更新后读取使用案例很有帮助,此时 Amazon S3 上的文件将覆盖但保留相同名称。此 ETag 验证功能当前不可用于 S3 Select。有关更多信息,请参阅配置一致视图

  • Spark

    • 默认情况下,现在启用了以下优化:动态分区修剪、DISTINCT before INTERSECT、后跟 DISTINCT 查询的 JOIN 的 SQL 计划统计推断改进、展平标量子查询、优化的联接重新排序和 bloom 筛选条件联接。有关更多信息,请参阅优化 Spark 性能

    • 改进了排序合并联接的整个阶段的代码生成。

    • 改进了查询片段和子查询重用。

    • Spark 启动时预先分配执行程序的改进。

    • 当联接的较小一侧包含广播提示时,不再应用 bloom 筛选条件联接。

  • Tez

    • 解决了 Tez 的问题。Tez UI 现在适用于 具有多个主节点的 EMR 集群。

已知问题

  • 对于面向排序合并联接的改进的全阶段代码生成功能,在启用时会增加内存压力。此优化改进了性能,但是如果 spark.yarn.executor.memoryOverheadFactor 没有调优以提供足够的内存,则可能导致作业重试或失败。要禁用此功能,请将 spark.sql.sortMergeJoinExec.extendedCodegen.enabled 设置为 false。

  • 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.25.0

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

首次发布日期:2019 年 7 月 17 日

上次更新日期:2019 年 10 月 30 日

Amazon EMR 5.25.0

升级

  • AWS SDK for Java 1.11.566

  • Hive 2.3.5

  • Presto 0.220

  • Spark 2.4.3

  • TensorFlow 1.13.1

  • Tez 0.9.2

  • Zookeeper 3.4.14

新功能

  • (2019 年 10 月 30 日)从 5.25.0 版本的 Amazon EMR 开始,您可以从控制台中的集群 Summary (摘要) 页面或 Application history (应用程序历史记录) 选项卡连接到 Spark 历史记录服务器 UI。无需通过 SSH 连接设置 Web 代理,您就可以快速访问 Spark 历史记录服务器 UI 来查看应用程序指标并访问活动和终止集群的相关日志文件。有关更多信息,请参阅 Amazon EMR 管理指南 中的对永久应用程序用户界面的集群外访问

更改、增强和解决的问题

  • Spark

    • 通过使用 Bloom 筛选器预筛选输入,改进了某些连接的性能。默认情况下禁用此优化,可以通过将 Spark 配置参数 spark.sql.bloomFilterJoin.enabled 设置为 true 来启用此优化。

    • 改进了按字符串类型列分组的性能。

    • 改进了未安装 HBase 的集群的 R4 实例类型的默认 Spark 执行器内存和内核配置。

    • 解决了动态分区修剪功能的上一个问题,其中修剪的表必须位于联接的左侧。

    • 改进了“在 INTERSECT 前执行 DISTINCT”优化,以应用于涉及别名的其他情况。

    • 改进了 JOIN 后面跟随 DISTINCT 查询的 SQL 计划统计推断。默认情况下禁用此改进,可以通过将 Spark 配置参数 spark.sql.statsImprovements.enabled 设置为 true 来启用此改进。“在 INTERSECT 前执行 DISTINCT”功能需要进行此优化,并且当 spark.sql.optimizer.distinctBeforeIntersect.enabled 设置为 true 时将自动启用此优化。

    • 已根据表大小和筛选器优化连接顺序。默认情况下禁用此优化,可以通过将 Spark 配置参数 spark.sql.optimizer.sizeBasedJoinReorder.enabled 设置为 true 来启用此优化。

    有关更多信息,请参阅优化 Spark 性能

  • EMRFS

    • EMRFS 设置 fs.s3.buckets.create.enabled 现在默认情况下是禁用的。通过测试,我们发现禁用此设置可以提高性能并防止无意中创建 S3 存储桶。如果您的应用程序依赖于此功能,则可以通过在 emrfs-site 配置分类中将属性 fs.s3.buckets.create.enabled 设置为 true 来启用它。有关信息,请参阅在创建集群时提供配置

  • 安全配置中的本地磁盘加密和 S3 加密改进(2019 年 8 月 5 日)

    • 在安全配置设置中将 Amazon S3 加密设置与本地磁盘加密设置分隔开。

    • 在版本 5.24.0 或更高版本中添加了启用 EBS 加密的选项。选择此选项将加密根设备卷以及存储卷。以前的版本需要使用自定义 AMI 来加密根设备卷。

    • 有关更多信息,请参阅 Amazon EMR 管理指南 中的加密选项

已知问题

  • 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.24.1

以下发布说明包括有关 Amazon EMR 发布版本 5.24.1 的信息。与 5.24.0 相关的更改。

首次发布日期:2019 年 6 月 26 日

更改、增强和解决的问题

  • Updated the default Amazon Linux AMI for EMR to include important Linux kernel security updates, including the TCP SACK Denial of Service Issue (AWS-2019-005).

已知问题

  • 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.24.0

以下发布说明包括有关 Amazon EMR 发布版本 5.24.0 的信息。与 5.23.0 相关的更改。

首次发布日期:2019 年 6 月 11 日

上次更新日期:2019 年 8 月 5 日

升级

  • Flink 1.8.0

  • Hue 4.4.0

  • JupyterHub 0.9.6

  • Livy 0.6.0

  • MxNet 1.4.0

  • Presto 0.219

  • Spark 2.4.2

  • AWS SDK for Java 1.11.546

  • 连接器和驱动程序:

    • DynamoDB 连接器 4.9.0

    • MariaDB 连接器 2.4.1

    • Amazon Redshift JDBC 驱动程序 1.2.27.1051

更改、增强和解决的问题

  • Spark

    • 添加了优化措施来动态修剪分区。默认情况下禁用优化。要启用它,请将 Spark 配置参数 spark.sql.dynamicPartitionPruning.enabled 设置为 true

    • 改进了 INTERSECT 查询的性能。默认情况下禁用此优化。要启用它,请将 Spark 配置参数 spark.sql.optimizer.distinctBeforeIntersect.enabled 设置为 true

    • 添加了优化措施,以使用聚合(使用相同关系)来展平标量子查询。默认情况下禁用优化。要启用它,请将 Spark 配置参数 spark.sql.optimizer.flattenScalarSubqueriesWithAggregates.enabled 设置为 true

    • 改进了整个阶段的代码生成。

    有关更多信息,请参阅优化 Spark 性能

  • 安全配置中的本地磁盘加密和 S3 加密改进(2019 年 8 月 5 日)

    • 在安全配置设置中将 Amazon S3 加密设置与本地磁盘加密设置分隔开。

    • 增加了启用 EBS 加密的选项。选择此选项将加密根设备卷以及存储卷。以前的版本需要使用自定义 AMI 来加密根设备卷。

    • 有关更多信息,请参阅 Amazon EMR 管理指南 中的加密选项

已知问题

  • 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.23.0

以下发布说明包括有关 Amazon EMR 发布版本 5.23.0 的信息。与 5.22.0 相关的更改。

首次发布日期:2019 年 4 月 1 日

上次更新日期:2019 年 4 月 30 日

升级

  • AWS SDK for Java 1.11.519

新功能

  • (2019 年 4 月 30 日)使用 Amazon EMR 5.23.0 以及更高版本,您可以启动具有三个主节点的集群,以支持应用程序的高可用性(如 YARN 资源管理器、HDFS 名称节点、Spark、Hive 和 Ganglia)。使用此功能,主节点不再发生潜在的单点故障。如果其中一个主节点出现故障,Amazon EMR 会自动故障转移到备用主节点,并将出现故障的主节点替换为具有相同配置和引导操作的新主节点。有关更多信息,请参阅计划和配置主节点

已知问题

  • Tez UI(在 Amazon EMR 发行版本 5.26.0 中修复)

    Tez UI 在包括多个主节点的 EMR 集群中不工作。

  • Hue(在 Amazon EMR 发行版本 5.24.0 中修复)

    • 在 Amazon EMR 上运行的 Hue 不支持 Solr。从 Amazon EMR 发布版本 5.20.0 开始,配置错误问题会导致 Solr 被启用,请显示与以下信息相似的轻微错误消息:

      Solr server could not be contacted properly: HTTPConnectionPool('host=ip-xx-xx-xx-xx.ec2.internal', port=1978): Max retries exceeded with url: /solr/admin/info/system?user.name=hue&doAs=administrator&wt=json (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))

      为避免显示 Solr 错误消息:

      1. 使用 SSH 连接主节点命令行。

      2. 使用文本编辑器打开 hue.ini 文件。例如:

        sudo vim /etc/hue/conf/hue.ini

      3. 搜索术语“appblacklist”,然后将对应行修改为如下所示:

        appblacklist = search
      4. 如以下示例所示,保存更改并重启 Hue:

        sudo stop hue; sudo start hue
  • 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.22.0

以下发布说明包括有关 Amazon EMR 发布版本 5.22.0 的信息。与 5.21.0 相关的更改。

重要

从 Amazon EMR 发布版本 5.22.0 开始,Amazon EMR 将 AWS 签名版本 4 专用于验证对 Amazon S3 的请求。早期 Amazon EMR 发布版本在某些情况下使用 AWS 签名版本 2,除非发布说明中指出仅使用签名版本 4。有关更多信息,请参阅Amazon Simple Storage Service 开发人员指南中的对请求进行身份验证(AWS 签名版本 4)对请求进行身份验证(AWS 签名版本 2)

首次发布日期:2019 年 3 月 20 日

升级

  • Flink 1.7.1

  • HBase 1.4.9

  • Oozie 5.1.0

  • Phoenix 4.14.1

  • Zeppelin 0.8.1

  • 连接器和驱动程序:

    • DynamoDB 连接器 4.8.0

    • MariaDB 连接器 2.2.6

    • Amazon Redshift JDBC 驱动程序 1.2.20.1043

新功能

  • 修改了使用仅 EBS 存储的 EC2 实例类型的默认 EBS 配置。在使用 Amazon EMR 发布版本 5.22.0 和更高版本创建集群时,默认 EBS 存储量根据实例大小而增加。另外,我们将增加的存储量拆分到多个卷中,从而提高 IOPS 性能。如果要使用不同的 EBS 实例存储配置,您可以在创建 EMR 集群或将节点添加到现有集群时指定该配置。有关存储量以及为每个实例类型分配的默认卷数的更多信息,请参阅Amazon EMR 管理指南中的实例的默认 EBS 存储

更改、增强和解决的问题

  • Spark

    • 在 YARN 上为 Spark 引入新的配置属性,spark.yarn.executor.memoryOverheadFactor。此属性的值是一个缩放系数,可将内存开销的值设置为执行程序内存的百分比且最小值为 384 MB。如果使用 spark.yarn.executor.memoryOverhead 显式设置内存开销,则此属性无效。默认值是 0.1875,代表 18.75%。与 Spark 在内部设置的 10% 的默认值相比,Amazon EMR 的默认值会在 YARN 容器中留出更多空间用于执行程序内存开销。根据经验,Amazon EMR 的 18.75% 的默认值在 TPC-DS 基准中出现的内存相关失败会更少。

    • 反向移植了 SPARK-26316 以提高性能。

  • 在 Amazon EMR 版本 5.19.0、5.20.0 和 5.21.0 中,YARN 节点标签存储在 HDFS 目录中。在某些情况下,这会导致核心节点启动延迟,随后导致集群超时,启动失败。从 Amazon EMR 5.22.0 开始解决了此问题。YARN 节点标签存储在各个集群节点的本地磁盘中,避免了在 HDFS 上的依赖性。

已知问题

  • Hue(在 Amazon EMR 发行版本 5.24.0 中修复)

    • 在 Amazon EMR 上运行的 Hue 不支持 Solr。从 Amazon EMR 发布版本 5.20.0 开始,配置错误问题会导致 Solr 被启用,请显示与以下信息相似的轻微错误消息:

      Solr server could not be contacted properly: HTTPConnectionPool('host=ip-xx-xx-xx-xx.ec2.internal', port=1978): Max retries exceeded with url: /solr/admin/info/system?user.name=hue&doAs=administrator&wt=json (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))

      为避免显示 Solr 错误消息:

      1. 使用 SSH 连接主节点命令行。

      2. 使用文本编辑器打开 hue.ini 文件。例如:

        sudo vim /etc/hue/conf/hue.ini

      3. 搜索术语“appblacklist”,然后将对应行修改为如下所示:

        appblacklist = search
      4. 如以下示例所示,保存更改并重启 Hue:

        sudo stop hue; sudo start hue
  • 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.21.1

以下发布说明包括有关 Amazon EMR 发布版本 5.21.1 的信息。与 5.21.0 相关的更改。

首次发布日期:2019 年 7 月 18 日

更改、增强和解决的问题

  • Updated the default Amazon Linux AMI for EMR to include important Linux kernel security updates, including the TCP SACK Denial of Service Issue (AWS-2019-005).

已知问题

  • 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.21.0

以下发布说明包括有关 Amazon EMR 发布版本 5.21.0 的信息。与 5.20.0 相关的更改。

首次发布日期:2019 年 2 月 18 日

上次更新日期:2019 年 4 月 3 日

升级

  • Flink 1.7.0

  • Presto 0.215

  • AWS SDK for Java 1.11.479

新功能

  • (2019 年 4 月 3 日)使用 Amazon EMR 版本 5.21.0 以及更高版本,您可以覆盖集群配置,并为运行的集群中的每个实例组指定更多配置分类。您可以使用 Amazon EMR 控制台、AWS Command Line Interface (AWS CLI) 或 AWS 开发工具包来实现此操作。有关更多信息,请参阅为正在运行的实例中的实例组提供配置

更改、增强和解决的问题

已知问题

  • Hue(在 Amazon EMR 发行版本 5.24.0 中修复)

    • 在 Amazon EMR 上运行的 Hue 不支持 Solr。从 Amazon EMR 发布版本 5.20.0 开始,配置错误问题会导致 Solr 被启用,请显示与以下信息相似的轻微错误消息:

      Solr server could not be contacted properly: HTTPConnectionPool('host=ip-xx-xx-xx-xx.ec2.internal', port=1978): Max retries exceeded with url: /solr/admin/info/system?user.name=hue&doAs=administrator&wt=json (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))

      为避免显示 Solr 错误消息:

      1. 使用 SSH 连接主节点命令行。

      2. 使用文本编辑器打开 hue.ini 文件。例如:

        sudo vim /etc/hue/conf/hue.ini

      3. 搜索术语“appblacklist”,然后将对应行修改为如下所示:

        appblacklist = search
      4. 如以下示例所示,保存更改并重启 Hue:

        sudo stop hue; sudo start hue
  • Tez

    • 此问题在 Amazon EMR 5.22.0 中已解决。

      在 http://MasterDNS:8080/tez-ui 通过与集群主节点的 SSH 连接去连接到Tez UI 时,会显示错误“Adapter operation failed - Timeline server (ATS) is out of reach.Either it is down, or CORS is not enabled”,或者相关任务意外显示不适用。

      其原因是 Tez UI 使用 localhost 而不是主节点的主机名向 YARN Timeline Server 发出请求。解决方法是提供脚本以作为引导操作或步骤运行。该脚本会更新 Tez configs.env 文件中的主机名。有关该脚本的更多信息和位置,请参阅引导操作说明

  • 在 Amazon EMR 版本 5.19.0、5.20.0 和 5.21.0 中,YARN 节点标签存储在 HDFS 目录中。在某些情况下,这会导致核心节点启动延迟,随后导致集群超时,启动失败。从 Amazon EMR 5.22.0 开始解决了此问题。YARN 节点标签存储在各个集群节点的本地磁盘中,避免了在 HDFS 上的依赖性。

  • 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.20.0

以下发行说明包括有关 Amazon EMR 发布版本 5.20.0 的信息。与 5.19.0 相关的更改。

首次发布日期:2018 年 12 月 18 日

上次更新日期:2019 年 1 月 22 日

升级

  • Flink 1.6.2

  • HBase 1.4.8

  • Hive 2.3.4

  • Hue 4.3.0

  • MXNet 1.3.1

  • Presto 0.214

  • Spark 2.4.0

  • TensorFlow 1.12.0

  • Tez 0.9.1

  • AWS SDK for Java 1.11.461

新功能

  • (2019 年 1 月 22 日)Amazon EMR 中的 Kerberos 进行了改进,用于支持对来自外部 KDC 的委托人进行身份验证。这集中了委托人管理,因为多个集群可以共享单个外部 KDC。此外,外部 KDC 可与 Active Directory 域建立跨领域信任关系。这使得所有集群可以从 Active Directory 对委托人进行身份验证。有关更多信息,请参阅 Amazon EMR 管理指南 中的 使用 Kerberos 身份验证

更改、增强和解决的问题

  • Amazon EMR 的默认 Amazon Linux AMI

    • Python3 程序包从 Python 3.4 升级到 3.6。

  • 经 EMRFS S3 优化的提交程序

  • Hive

  • Glue 与 Spark 和 Hive

    • 在 EMR 5.20.0 或更高版本中,当将 AWS Glue 数据目录用作元数据仓时,会自动为 Spark 和 Hive 启用并行分区修剪。这一更改通过并行执行多个请求来检索分区,可显著减少查询规划时间。可并行执行的总分段数量介于 1 到 10 之间。默认值为 5,这是建议采用的设置。您可以通过在 hive-site 配置分类中指定 aws.glue.partition.num.segments 属性来更改它。当发生限制时,可以通过将值更改为 1 来关闭此功能。有关更多信息,请参阅 AWS Glue 分段结构

已知问题

  • Hue(在 Amazon EMR 发行版本 5.24.0 中修复)

    • 在 Amazon EMR 上运行的 Hue 不支持 Solr。从 Amazon EMR 发布版本 5.20.0 开始,配置错误问题会导致 Solr 被启用,请显示与以下信息相似的轻微错误消息:

      Solr server could not be contacted properly: HTTPConnectionPool('host=ip-xx-xx-xx-xx.ec2.internal', port=1978): Max retries exceeded with url: /solr/admin/info/system?user.name=hue&doAs=administrator&wt=json (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))

      为避免显示 Solr 错误消息:

      1. 使用 SSH 连接主节点命令行。

      2. 使用文本编辑器打开 hue.ini 文件。例如:

        sudo vim /etc/hue/conf/hue.ini

      3. 搜索术语“appblacklist”,然后将对应行修改为如下所示:

        appblacklist = search
      4. 如以下示例所示,保存更改并重启 Hue:

        sudo stop hue; sudo start hue
  • Tez

    • 此问题在 Amazon EMR 5.22.0 中已解决。

      在 http://MasterDNS:8080/tez-ui 通过与集群主节点的 SSH 连接去连接到Tez UI 时,会显示错误“Adapter operation failed - Timeline server (ATS) is out of reach.Either it is down, or CORS is not enabled”,或者相关任务意外显示不适用。

      其原因是 Tez UI 使用 localhost 而不是主节点的主机名向 YARN Timeline Server 发出请求。解决方法是提供脚本以作为引导操作或步骤运行。该脚本会更新 Tez configs.env 文件中的主机名。有关该脚本的更多信息和位置,请参阅引导操作说明

  • 在 Amazon EMR 版本 5.19.0、5.20.0 和 5.21.0 中,YARN 节点标签存储在 HDFS 目录中。在某些情况下,这会导致核心节点启动延迟,随后导致集群超时,启动失败。从 Amazon EMR 5.22.0 开始解决了此问题。YARN 节点标签存储在各个集群节点的本地磁盘中,避免了在 HDFS 上的依赖性。

  • 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.19.0

以下发布说明包括有关 Amazon EMR 发布版本 5.19.0 的信息。与 5.18.0 相关的更改。

首次发布日期:2018 年 11 月 7 日

上次更新日期:2018 年 11 月 19 日

升级

  • Hadoop 2.8.5

  • Flink 1.6.1

  • JupyterHub 0.9.4

  • MXNet 1.3.0

  • Presto 0.212

  • TensorFlow 1.11.0

  • Zookeeper 3.4.13

  • AWS SDK for Java 1.11.433

新功能

  • (2018 年 11 月 19 日)EMR 笔记本 是一个基于 Jupyter Notebook 的托管环境。它支持适用于 PySpark、Spark SQL、Spark R 和 Scala 的 Spark 内核。EMR 笔记本 可以与使用 Amazon EMR 发布版 5.18.0 和更高版本创建的集群结合使用。有关更多信息,请参阅 Amazon EMR 管理指南 中的使用 EMR 笔记本

  • EMRFS S3 优化的提交程序在使用 Spark 和 EMRFS 写入 Parquet 文件时可用。此提交程序将提高写入性能。有关更多信息,请参阅 使用经 EMRFS S3 优化的提交程序

更改、增强和解决的问题

  • YARN

  • Amazon EMR 的默认 Amazon Linux AMI

    • 默认情况下不再安装 ruby18php56gcc48。如果需要,可以使用 yum 来安装它们。

    • 默认情况下不再 aws-java-sdk Ruby Gem。如果需要,可以使用 gem install aws-java-sdk 来安装它。还可以安装特定组件。例如:gem install aws-java-sdk-s3

已知问题

  • EMR 笔记本—在某些情况下,当打开了多个笔记本编辑器时,笔记本编辑器可能似乎无法连接到集群。如果出现这种情况,请清除浏览器 Cookie,然后重新打开笔记本编辑器。

  • CloudWatch ContainerPending 指标和自动扩展 —(在 5.20.0 中修复)Amazon EMR 可能会为 ContainerPending 发出负值。如果在自动扩展中使用了 ContainerPending,则自动扩展不会按预期工作。避免将 ContainerPending 用于自动扩展。

  • 在 Amazon EMR 版本 5.19.0、5.20.0 和 5.21.0 中,YARN 节点标签存储在 HDFS 目录中。在某些情况下,这会导致核心节点启动延迟,随后导致集群超时,启动失败。从 Amazon EMR 5.22.0 开始解决了此问题。YARN 节点标签存储在各个集群节点的本地磁盘中,避免了在 HDFS 上的依赖性。

版本 5.18.0

以下发行说明包括有关 Amazon EMR 发布版本 5.18.0 的信息。与 5.17.0 相关的更改。

首次发布日期:2018 年 10 月 24 日

升级

  • Flink 1.6.0

  • HBase 1.4.7

  • Presto 0.210

  • Spark 2.3.2

  • Zeppelin 0.8.0

新功能

  • 从 Amazon EMR 5.18.0 开始,您可以使用 Amazon EMR 项目存储库构建针对特定 Amazon EMR 发布版附带的准确版本的库和依赖项的任务代码。有关更多信息,请参阅使用 Amazon EMR 项目存储库检查依赖项

更改、增强和解决的问题

发布版本 5.17.1

以下发布说明包括有关 Amazon EMR 发布版本 5.17.1 的信息。与 5.17.0 相关的更改。

首次发布日期:2019 年 7 月 18 日

更改、增强和解决的问题

  • Updated the default Amazon Linux AMI for EMR to include important Linux kernel security updates, including the TCP SACK Denial of Service Issue (AWS-2019-005).

版本 5.17.0

以下发行说明包括有关 Amazon EMR 发布版本 5.17.0 的信息。与 5.16.0 相关的更改。

首次发布日期:2018 年 8 月 30 日

升级

  • Flink 1.5.2

  • HBase 1.4.6

  • Presto 0.206

新功能

  • 增加了对 Tensorflow 的支持。有关更多信息,请参阅TensorFlow

更改、增强和解决的问题

已知问题

  • 当您在安装了 Livy 的情况下创建使用 Kerberos 的集群时,Livy 将失败并显示一个错误,指示未启用简单身份验证。重新启动 Livy 服务器可解决此问题。作为解决方法,请在集群创建期间添加在主节点上运行 sudo restart livy-server 的步骤。

  • 如果您使用基于 Amazon Linux AMI 的自定义 Amazon Linux AMI(创建日期为 2018 年 8 月 11 日),则 Oozie 服务器将无法启动。如果您使用 Oozie,则创建基于 Amazon Linux AMI ID 的自定义 AMI(具有其他创建日期)。您可以使用以下 AWS CLI 命令返回一个列表,其中包含所有 HVM Amazon Linux AMI 的映像 ID(2018 年 3 月版)和发布日期,以便您可以选择合适的 Amazon Linux AMI 作为基础。将 MyRegion 替换为您的区域标识符(如 us-west-2)。

    aws ec2 --region MyRegion describe-images --owner amazon --query 'Images[?Name!=`null`]|[?starts_with(Name, `amzn-ami-hvm-2018.03`) == `true`].[CreationDate,ImageId,Name]' --output text | sort -rk1

版本 5.16.0

以下发行说明包括有关 Amazon EMR 发布版本 5.16.0 的信息。与 5.15.0 相关的更改。

首次发布日期:2018 年 7 月 19 日

升级

  • Hadoop 2.8.4

  • Flink 1.5.0

  • Livy 0.5.0

  • MXNet 1.2.0

  • Phoenix 4.14.0

  • Presto 0.203

  • Spark 2.3.1

  • AWS SDK for Java 1.11.336

  • CUDA 9.2

  • Redshift JDBC 驱动程序 1.2.15.1025

更改、增强和解决的问题

已知问题

  • 此发布版本不支持 c1.medium 或 m1.small 实例类型。使用这些实例类型之一的集群无法启动。作为解决方案,请指定不同的实例类型或使用不同的发布版本。

  • 当您在安装了 Livy 的情况下创建使用 Kerberos 的集群时,Livy 将失败并显示一个错误,指示未启用简单身份验证。重新启动 Livy 服务器可解决此问题。作为解决方法,请在集群创建期间添加在主节点上运行 sudo restart livy-server 的步骤。

  • After the master node reboots or the instance controller restarts, the CloudWatch metrics will not be collected and the automatic scaling feature will not be available in Amazon EMR version 5.14.0, 5.15.0, or 5.16.0. This issue is fixed in Amazon EMR version 5.17.0.

版本 5.15.0

以下发布说明包括有关 Amazon EMR 发布版本 5.15.0 的信息。与 5.14.0 相关的更改。

首次发布日期:2018 年 6 月 21 日

升级

  • 已将 HBase 升级到 1.4.4

  • 已将 Hive 升级到 2.3.3

  • 已将 Hue 升级到 4.2.0

  • 已将 Oozie 升级到 5.0.0

  • 已将 Zookeeper 升级到 3.4.12

  • 已将 AWS 开发工具包升级到 1.11.333

更改、增强和解决的问题

  • Hive

  • Hue

    • 已更新 Hue,以便在启用 Kerberos 时正确地使用 Livy 进行身份验证。在将 Kerberos 与 Amazon EMR 一起使用时,现在支持 Livy。

  • JupyterHub

    • 已更新 JupyterHub,使得默认情况下 Amazon EMR 安装 LDAP 客户端库。

    • 已修复生成自签名证书的脚本中的错误。有关该问题的更多信息,请参阅Release Notes

已知问题

  • 此发布版本不支持 c1.medium 或 m1.small 实例类型。使用这些实例类型之一的集群无法启动。作为解决方案,请指定不同的实例类型或使用不同的发布版本。

  • After the master node reboots or the instance controller restarts, the CloudWatch metrics will not be collected and the automatic scaling feature will not be available in Amazon EMR version 5.14.0, 5.15.0, or 5.16.0. This issue is fixed in Amazon EMR version 5.17.0.

版本 5.14.1

以下发布说明包括有关 Amazon EMR 发布版本 5.14.1 的信息。与 5.14.0 相关的更改。

首次发布日期:2018 年 10 月 17 日

更新了 Amazon EMR 的默认 AMI 以消除潜在的安全漏洞。

版本 5.14.0

以下发布说明包括有关 Amazon EMR 发布版本 5.14.0 的信息。与 5.13.0 相关的更改。

首次发布日期:2018 年 6 月 4 日

升级

  • 将 Apache Flink 升级至 1.4.2

  • 将 Apache MXnet 升级至 1.1.0

  • 将 Apache Sqoop 升级至 1.4.7

新功能

  • 增加了对 JupyterHub 的支持。有关更多信息,请参阅 JupyterHub

更改、增强和解决的问题

  • EMRFS

    • 向 Amazon S3 发送的请求中的 userAgent 字符串已更新,包含调用委托人的用户和组信息。AWS CloudTrail 日志可用它进行更加全面的请求跟踪。

  • HBase

    • 包含了 HBASE-20447,它可解决可能导致缓存问题的问题,尤其是对于分割区域。

  • MXnet

    • 增加了 OpenCV 库。

  • Spark

    • 在 Spark 使用 EMRFS 将 Parquet 文件写入 Amazon S3 位置时,FileOutputCommitter 算法已更新为使用版本 2 而不再使用版本 1。这样会减少重命名的数量,提升应用程序性能。此更改不会影响:

      • 除 Spark 之外的其他应用程序。

      • 写入其他文件系统(例如 HDFS,此文件系统仍使用 FileOutputCommitter 的版本 1)的应用程序。

      • 使用其他输出格式(例如文本或 csv,已使用 EMRFS 直接写入)的应用程序。

已知问题

  • JupyterHub

    • 不支持在创建集群时使用配置分类设置 JupyterHub 和个别 Jupyter 笔记本。请手动编辑每个用户的 jupyterhub_config.py 文件和 jupyter_notebook_config.py 文件。有关更多信息,请参阅 配置 JupyterHub

    • JupyterHub 无法在私有子网内的群集上启动,并显示以下消息 Error: ENOENT: no such file or directory, open '/etc/jupyter/conf/server.crt' 。这是由生成自签名证书的脚本中的错误引起的。使用以下变通方法生成自签名证书。所有命令都是在连接到主节点时执行。

      1. 将证书生成脚本从容器复制到主节点:

        sudo docker cp jupyterhub:/tmp/gen_self_signed_cert.sh ./
      2. 使用文本编辑器更改第 23 行以将公共主机名更改为本地主机名,如下所示:

        local hostname=$(curl -s $EC2_METADATA_SERVICE_URI/local-hostname)
      3. 运行脚本以生成自签名证书:

        sudo bash ./gen_self_signed_cert.sh
      4. 将脚本生成的证书文件移动到 /etc/jupyter/conf/ 目录:

        sudo mv /tmp/server.crt /tmp/server.key /etc/jupyter/conf/

      您可以对 tail 文件执行 jupyter.log 以确认 JupyterHub 已重新启动并返回 200 响应代码。例如:

      tail -f /var/log/jupyter/jupyter.log

      这应该返回类似于以下信息的响应:

      # [I 2018-06-14 18:56:51.356 JupyterHub app:1581] JupyterHub is now running at https://:9443/ # 19:01:51.359 - info: [ConfigProxy] 200 GET /api/routes
  • After the master node reboots or the instance controller restarts, the CloudWatch metrics will not be collected and the automatic scaling feature will not be available in Amazon EMR version 5.14.0, 5.15.0, or 5.16.0. This issue is fixed in Amazon EMR version 5.17.0.

版本 5.13.0

以下发布说明包括有关 Amazon EMR 发布版本 5.13.0 的信息。更改与 5.12.0 相关。

升级

  • 已将 Spark 升级到 2.3.0

  • 已将 HBase 升级到 1.4.2

  • 已将 Presto 升级到 0.194

  • 已将 AWS Java 开发工具包升级到 1.11.297

更改、增强和解决的问题

  • Hive

    • 已逆向移植 HIVE-15436。增强了 Hive API 以仅返回视图。

已知问题

  • MXNet 当前没有 OpenCV 库。

版本 5.12.2

以下发行说明包括有关 Amazon EMR 发布版本 5.12.2 的信息。与 5.12.1 相关的更改。

首次发布日期:2018 年 8 月 29 日

更改、增强和解决的问题

  • 此发布版本解决了潜在的安全漏洞。

版本 5.12.1

以下发布说明包括有关 Amazon EMR 发布版本 5.12.1 的信息。更改与 5.12.0 相关。

首次发布日期:2018 年 3 月 29 日

更改、增强和解决的问题

  • 更新了 Amazon EMR 的默认 Amazon Linux AMI 的 Amazon Linux 内核以消除潜在的安全漏洞。

版本 5.12.0

以下发布说明包括有关 Amazon EMR 发布版本 5.12.0 的信息。与 5.11.1 相关的更改。

升级

更改、增强和解决的问题

  • Hadoop

    • yarn.resourcemanager.decommissioning.timeout 属性已更改为 yarn.resourcemanager.nodemanager-graceful-decommission-timeout-secs。您可以使用此属性来自定义群集缩减。有关更多信息,请参阅 Amazon EMR 管理指南 中的集群缩减

    • Hadoop CLI 已将 -d 选项添加到 cp (复制) 命令,这可指定直接复制。您可以使用选项来避免创建中间 .COPYING 文件,这就加快 Amazon S3 之间的数据复制速度。有关更多信息,请参阅 HADOOP-12384

  • Pig

    • 新增 pig-env 配置分类,这将简化 Pig 环境属性的配置。有关更多信息,请参阅 配置应用程序

  • Presto

    • 新增 presto-connector-redshift 配置分类,您可以将其用于配置 Presto redshift.properties 配置文件中的值。有关更多信息,请参阅 Presto 文档中的 Redshift Connector 以及配置应用程序

    • 已添加对 EMRFS 的 Presto 支持,并且这是默认配置。以前的 Amazon EMR 发行版使用的是 PrestoS3FileSystem (这是唯一选项)。有关更多信息,请参阅 EMRFS和 PrestoS3FileSystem 配置

      注意

      配置问题可能会在使用 Amazon EMR 发布版 5.12.0 查询 Amazon S3 中的基础数据时导致 Presto 错误。这是因为 Presto 无法从 emrfs-site.xml 选取配置分类值。要解决此问题,请在 usr/lib/presto/plugin/hive-hadoop2/ 下创建 emrfs 子目录,在 usr/lib/presto/plugin/hive-hadoop2/emrfs 中创建指向现有 /usr/share/aws/emr/emrfs/conf/emrfs-site.xml 文件的符号链接,然后重新启动 presto-server 进程 (运行 sudo presto-server stop 后再运行 sudo presto-server start)。

  • Spark

已知问题

  • MXNet 不包含 OpenCV 库。

  • 由于默认情况下,未在群集节点上安装 R,因此 SparkR 对使用自定义 AMI 创建的群集不可用。

发布版本 5.11.3

以下发布说明包括有关 Amazon EMR 发布版本 5.11.3 的信息。与 5.11.2 相关的更改。

首次发布日期:2019 年 7 月 18 日

更改、增强和解决的问题

  • Updated the default Amazon Linux AMI for EMR to include important Linux kernel security updates, including the TCP SACK Denial of Service Issue (AWS-2019-005).

版本 5.11.2

以下发行说明包括有关 Amazon EMR 发布版本 5.11.2 的信息。与 5.11.1 相关的更改。

首次发布日期:2018 年 8 月 29 日

更改、增强和解决的问题

  • 此发布版本解决了潜在的安全漏洞。

版本 5.11.1

以下发布说明包括有关 Amazon EMR 版本 5.11.1 版本的信息。更改与 Amazon EMR 5.11.0 版本相关。

首次发布日期: 2018 年 1 月 22 日

更改、增强和解决的问题

已知问题

  • MXNet 不包含 OpenCV 库。

  • 默认情况下,Hive 2.3.2 设置 hive.compute.query.using.stats=true。这会导致查询从现有统计数据而不是直接从数据中获取数据,这可能会造成混淆。例如,如果您有一个包含 hive.compute.query.using.stats=true 的表并且将新文件上传到表 LOCATION,则在该表上运行 SELECT COUNT(*) 查询会返回来自统计数据的计数,而不是选择已添加的行。

    作为解决方法,请使用 ANALYZE TABLE 命令收集新的统计数据,或设置 hive.compute.query.using.stats=false。 有关更多信息,请参阅 Apache Hive 文档中的 Hive 中的统计数据

版本 5.11.0

以下发布说明包括有关 Amazon EMR 版本 5.11.0 版本的信息。更改与 Amazon EMR 5.10.0 版本相关。

Upgrades

以下应用程序和组件已在此版本中进行升级以包含以下版本。

  • Hive 2.3.2

  • Spark 2.2.1

  • 适用于 Java 的开发工具包 1.11.238

新 功能

已知问题

  • MXNet 不包含 OpenCV 库。

  • 默认情况下,Hive 2.3.2 设置 hive.compute.query.using.stats=true。这会导致查询从现有统计数据而不是直接从数据中获取数据,这可能会造成混淆。例如,如果您有一个包含 hive.compute.query.using.stats=true 的表并且将新文件上传到表 LOCATION,则在该表上运行 SELECT COUNT(*) 查询会返回来自统计数据的计数,而不是选择已添加的行。

    作为解决方法,请使用 ANALYZE TABLE 命令收集新的统计数据,或设置 hive.compute.query.using.stats=false。 有关更多信息,请参阅 Apache Hive 文档中的 Hive 中的统计数据

版本 5.10.0

以下发布说明包括有关 Amazon EMR 5.10.0 版本的信息。更改与 Amazon EMR 5.9.0 版本相关。

Upgrades

以下应用程序和组件已在此版本中进行升级以包含以下版本。

  • AWS SDK for Java 1.11.221

  • Hive 2.3.1

  • Presto 0.187

新 功能

更改、增强和解决的问题

  • Presto

  • Spark

    • 已逆向移植 SPARK-20640,这使随机注册的 rpc 超时值和重试次数值可使用 spark.shuffle.registration.timeoutspark.shuffle.registration.maxAttempts 属性进行配置。

    • 已逆向移植 SPARK-21549,这更正了将自定义 OutputFormat 写入非 HDFS 位置时出现的错误。

  • 已逆向移植 Hadoop 13270

  • 从基本 Amazon EMR AMI 中删除了 Numpy、Scipy 和 Matplotlib 库。如果您的应用程序需要这些库,应用程序存储库中提供了它们,因此您可以通过引导操作使用 yum install 在所有节点上安装它们。

  • Amazon EMR 基本 AMI 不再包含应用程序 RPM 软件包,因此集群节点上不再存在 RPM 软件包。自定义 AMIs 和 Amazon EMR 基本 AMI 现在引用 Amazon S3 中的 RPM 软件包存储库。

  • 因为 Amazon EC2 中引入了按秒计费,默认的 Scale down behavior (缩减行为) 现在为 Terminate at task completion (在任务完成时终止) 而非 Terminate at instance hour (在实例小时边界终止)。有关更多信息,请参阅配置集群缩减

已知问题

  • MXNet 不包含 OpenCV 库。

  • 默认情况下,Hive 2.3.1 设置 hive.compute.query.using.stats=true。这会导致查询从现有统计数据而不是直接从数据中获取数据,这可能会造成混淆。例如,如果您有一个包含 hive.compute.query.using.stats=true 的表并且将新文件上传到表 LOCATION,则在该表上运行 SELECT COUNT(*) 查询会返回来自统计数据的计数,而不是选择已添加的行。

    作为解决方法,请使用 ANALYZE TABLE 命令收集新的统计数据,或设置 hive.compute.query.using.stats=false。 有关更多信息,请参阅 Apache Hive 文档中的 Hive 中的统计数据

版本 5.9.0

以下发布说明包括有关 Amazon EMR 5.9.0 版本的信息。更改与 Amazon EMR 5.8.0 版本相关。

发布日期: 2017 年 10 月 5 日

最新功能更新: 2017 年 10 月 12 日

Upgrades

以下应用程序和组件已在此版本中进行升级以包含以下版本。

  • AWS SDK for Java 1.11.183 版

  • Flink 1.3.2

  • Hue 4.0.1

  • Pig 0.17.0

  • Presto 0.184

新 功能

  • 添加了 Livy 支持 (0.4.0-incubating 版)。有关更多信息,请参阅 Apache常春藤

  • 添加了对 Hue Notebook for Spark 的支持。

  • 添加了对 i3 系列 Amazon EC2 实例的支持 (2017 年 10 月 12 日)。

更改、增强和解决的问题

  • Spark

    • 添加了一组新功能,有助于确保 Spark 能够更为正常地处理因手动调整大小或自动扩展策略请求导致的节点终止。有关更多信息,请参阅 配置节点退役行为

    • 使用 SSL 取代 3DES 为数据块传输服务提供 in-transit 加密,可在使用带 AES-NI 的 Amazon EC2 实例类型时增强性能。

    • 已逆向移植 SPARK-21494

  • Zeppelin

  • HBase

    • 添加了补丁 HBASE-18633,这允许使用 HBase 配置分类为 BucketCache hbase-site 配置提供其他值。

  • Hue

    • 添加了对 Hue 中 Hive 查询编辑器的 AWS Glue Data Catalog 支持。

    • 默认情况下,Hue 中的超级用户可以访问的 Amazon EMR IAM 角色可以访问的所有文件。新建用户不会自动拥有对 Amazon S3filebrowser 的访问权限,并且必须为其组启用 filebrowser.s3_access 权限。

  • 解决造成使用 AWS Glue Data Catalog 创建的底层 JSON 数据不可访问的问题。

已知问题

  • 当安装了所有应用程序且未更改默认 Amazon EBS 根卷大小时,集群启动会失败。作为解决方法,请从 AWS CLI 使用 aws emr create-cluster 命令并指定一个更大的 --ebs-root-volume-size 参数。

  • 默认情况下,Hive 2.3.0 设置 hive.compute.query.using.stats=true。这会导致查询从现有统计数据而不是直接从数据中获取数据,这可能会造成混淆。例如,如果您有一个包含 hive.compute.query.using.stats=true 的表并且将新文件上传到表 LOCATION,则在该表上运行 SELECT COUNT(*) 查询会返回来自统计数据的计数,而不是选择已添加的行。

    作为解决方法,请使用 ANALYZE TABLE 命令收集新的统计数据,或设置 hive.compute.query.using.stats=false。 有关更多信息,请参阅 Apache Hive 文档中的 Hive 中的统计数据

版本 5.8.2

以下发布说明包括有关 Amazon EMR 发布版本 5.8.2 的信息。更改与 5.8.1 相关。

首次发布日期:2018 年 3 月 29 日

更改、增强和解决的问题

  • 更新了 Amazon EMR 的默认 Amazon Linux AMI 的 Amazon Linux 内核以消除潜在的安全漏洞。

版本 5.8.1

以下发布说明包括有关 Amazon EMR 版本 5.8.1 版本的信息。更改与 Amazon EMR 5.8.0 版本相关。

首次发布日期: 2018 年 1 月 22 日

更改、增强和解决的问题

版本 5.8.0

以下发布说明包括有关 Amazon EMR 版本 5.8.0 发布的信息。更改与 Amazon EMR 5.7.0 版本相关。

首次发布日期: 2017 年 8 月 10 日

最新功能更新: 2017 年 9 月 25 日

Upgrades

以下应用程序和组件已在此版本中进行升级以包含以下版本:

  • AWS SDK 1.11.160

  • Flink 1.3.1

  • Hive 2.3.0。有关更多信息,请参阅 Apache Hive 站点上的发布说明

  • Spark 2.2.0。有关更多信息,请参阅 Apache Spark 站点上的发布说明

新 功能

更改、增强和解决的问题

已知问题

  • 当安装了所有应用程序且未更改默认 Amazon EBS 根卷大小时,集群启动会失败。作为解决方法,请从 AWS CLI 使用 aws emr create-cluster 命令并指定一个更大的 --ebs-root-volume-size 参数。

  • 默认情况下,Hive 2.3.0 设置 hive.compute.query.using.stats=true。这会导致查询从现有统计数据而不是直接从数据中获取数据,这可能会造成混淆。例如,如果您有一个包含 hive.compute.query.using.stats=true 的表并且将新文件上传到表 LOCATION,则在该表上运行 SELECT COUNT(*) 查询会返回来自统计数据的计数,而不是选择已添加的行。

    作为解决方法,请使用 ANALYZE TABLE 命令收集新的统计数据,或设置 hive.compute.query.using.stats=false。 有关更多信息,请参阅 Apache Hive 文档中的 Hive 中的统计数据

  • Spark — 在使用 Spark 时,apppusher 守护程序存在文件处理程序泄漏问题,长时间运行的 Spark 作业在几个小时或几天后可能会出现此情况。要修复该问题,请连接到主节点并键入 sudo /etc/init.d/apppusher stop。 这将停止 apppusher 守护程序,Amazon EMR 将自动重新启动它。

  • 应用程序历史记录

    • 死 Spark 执行程序的历史数据不可用。

    • 应用程序历史记录对使用安全配置来启用传输中加密的集群不可用。

版本 5.7.0

以下发布说明包括有关 Amazon EMR 5.7.0 版本的信息。更改与 Amazon EMR 5.6.0 版本相关。

发布日期: 2017 年 7 月 13 日

Upgrades

  • Flink 1.3.0

  • Phoenix 4.11.0

  • Zeppelin 0.7.2

新 功能

  • 添加了创建集群时指定自定义 Amazon Linux AMI 的功能。有关更多信息,请参阅使用自定义 AMI

更改、增强和解决的问题

  • HBase

    • 增加了配置 HBase 只读副本集群的功能。请参阅使用只读副本集群

    • 多个错误修复和增强功能

  • Presto—添加了配置 node.properties 的功能。

  • YARN—添加了配置 container-log4j.properties 的功能

  • Sqoop—逆向移植了 SQOOP-2880,这将引入一个允许您设置 Sqoop 临时目录的参数。

版本 5.6.0

以下发布说明包括有关 Amazon EMR 5.6.0 版本的信息。更改与 Amazon EMR 5.5.0 版本相关。

发布日期: 2017 年 6 月 5 日

Upgrades

  • Flink 1.2.1

  • HBase 1.3.1

  • Mahout 0.13.0。这是 Mahout 在 Amazon EMR 版本 5.0 及更高版本中支持 Spark 2.x 的第一个版本。

  • Spark 2.1.1

更改、增强和解决的问题

  • Presto

    • 添加了通过使用安全配置启用传输中加密,从而在 Presto 节点之间实现 SSL/TLS 安全通信的功能。有关更多信息,请参阅传输中的数据加密

    • 已逆向移植 Presto 7661,它向 EXPLAIN ANALYZE 语句添加了 VERBOSE 选项,以报告有关查询计划的更详细、高低级别的统计数据。

版本 5.5.3

以下发行说明包括有关 Amazon EMR 发布版本 5.5.3 的信息。与 5.5.2 相关的更改。

首次发布日期:2018 年 8 月 29 日

更改、增强和解决的问题

  • 此发布版本解决了潜在的安全漏洞。

版本 5.5.2

以下发布说明包括有关 Amazon EMR 发布版本 5.5.2 的信息。更改与 5.5.1 相关。

首次发布日期:2018 年 3 月 29 日

更改、增强和解决的问题

  • 更新了 Amazon EMR 的默认 Amazon Linux AMI 的 Amazon Linux 内核以消除潜在的安全漏洞。

版本 5.5.1

以下发布说明包括有关 Amazon EMR 5.5.1 版本的信息。更改与 Amazon EMR 5.5.0 版本相关。

首次发布日期: 2018 年 1 月 22 日

更改、增强和解决的问题

版本 5.5.0

以下发布说明包括有关 Amazon EMR 5.5.0 版本的信息。更改与 Amazon EMR 5.4.0 版本相关。

发布日期: 2017 年 4 月 26 日

Upgrades

  • Hue 3.12

  • Presto 0.170

  • Zeppelin 0.7.1

  • ZooKeeper 3.4.10

更改、增强和解决的问题

  • Spark

  • Flink

    • Flink 现在使用 Scala 2.11 进行构建。如果您使用 Scala API 和库,我们建议您在项目中使用 Scala 2.11。

    • 解决了 HADOOP_CONF_DIRYARN_CONF_DIR 默认值未正确设置,因此 start-scala-shell.sh 无法工作的问题。此外,还添加了使用 env.hadoop.conf.direnv.yarn.conf.dir 配置类别中的 /etc/flink/conf/flink-conf.yamlflink-conf 设置这些值的功能。

    • 引入了一个新的 EMR 特定的命令 flink-scala-shell 作为 start-scala-shell.sh 的包装程序。 我们建议使用此命令而不是 start-scala-shell。 新命令可简化执行。例如,flink-scala-shell -n 2 将使用任务并行度 2 启动 Flink Scala 外壳。

    • 引入了一个新的 EMR 特定的命令 flink-yarn-session 作为 yarn-session.sh 的包装程序。 我们建议使用此命令而不是 yarn-session。 新命令可简化执行。例如,flink-yarn-session -d -n 2 将使用两个任务管理器在分离状态下启动长时间运行的 Flink 会话。

    • 解决了 (FLINK-6125) Commons httpclient 在 Flink 1.2 中不再遮蔽的问题。

  • Presto

    • 添加了对 LDAP 身份验证的支持。在 Amazon EMR 上对 Presto 使用 LDAP 需要您启用对 Presto 协调器的 HTTPS 访问(config.properties 中的 http-server.https.enabled=true)。有关配置详细信息,请参阅 Presto 文档中的 LDAP 身份验证

    • 增加了对 SHOW GRANTS 的支持

  • Amazon EMR 基本 Linux AMI

    • Amazon EMR 版本现在基于 Amazon Linux 2017.03。有关更多信息,请参阅 Amazon Linux AMI 2017.03 发布说明

    • 从 Amazon EMR 基本 Linux 映像中删除了 Python 2.6。默认安装 Python 2.7 和 3.4。如果需要,您可以手动安装 Python 2.6。

版本 5.4.0

以下发布说明包括有关 Amazon EMR 5.4.0 版本的信息。更改与 Amazon EMR 5.3.0 版本相关。

发布日期: 2017 年 3 月 08 日

Upgrades

此版本提供以下升级:

  • 已升级到 Flink 1.2.0

  • 已升级到 Hbase 1.3.0

  • 已升级到 Phoenix 4.9.0

    注意

    如果您从早期版本的 Amazon EMR 升级到 Amazon EMR 版本 5.4.0 或更高版本并使用二级索引,请升级本地索引,如 Apache Phoenix 文档中所述。Amazon EMR 会从 hbase-site 分类中删除所需配置,但您需要重新填充索引。支持在线和离线升级索引。在线升级为默认值,这意味着,在从版本 4.8.0 或更高版本的 Phoenix 客户端初始化时重新填充索引。要指定离线升级,请在 phoenix.client.localIndexUpgrade 分类中将 phoenix-site 配置设置为 false,然后将 SSH 设置为主节点以运行 psql [zookeeper] -1

  • 已升级到 Presto 0.166

  • 已升级到 Zeppelin 0.7.0

更改和增强功能

以下是对版本标签 emr-5.4.0 的 Amazon EMR 版本进行的更改:

版本 5.3.1

以下发布说明包括有关 Amazon EMR 5.3.1 版本的信息。更改与 Amazon EMR 5.3.0 版本相关。

发布日期:2017 年 2 月 7 日

对向后移植 Zeppelin 补丁进行轻微改动并更新 Amazon EMR 的默认 AMI。

版本 5.3.0

以下发布说明包括有关 Amazon EMR 5.3.0 版本的信息。更改与 Amazon EMR 5.2.1 版本相关。

发布日期: 2017 年 1 月 26 日

Upgrades

此版本提供以下升级:

  • 已升级到 Hive 2.1.1

  • 已升级到 Hue 3.11.0

  • 已升级到 Spark 2.1.0

  • 已升级到 Oozie 4.3.0

  • 已升级到 Flink 1.1.4

更改和增强功能

以下是对版本标签 emr-5.3.0 的 Amazon EMR 版本进行的更改:

  • Hue 新增补丁可使您使用 interpreters_shown_on_wheel 设置配置解释器在笔记本选择轮盘上最先显示的内容,而不受 hue.ini 文件中排序的限制。

  • 新增 hive-parquet-logging 配置分类,您可以将其用于配置 Hive parquet-logging.properties 文件中的值。

版本 5.2.2

以下发布说明包括有关 Amazon EMR 5.2.2 版本的信息。更改与 Amazon EMR 5.2.1 版本相关。

发布日期: 2017 年 5 月 2 日

早期版本中已解决的已知问题

  • 已逆向移植 SPARK-194459,解决了从包含 char/varchar 列的 ORC 表读取内容时可能失败的问题。

版本 5.2.1

以下发布说明包括有关 Amazon EMR 5.2.1 版本的信息。更改与 Amazon EMR 5.2.0 版本相关。

发布日期: 2016 年 12 月 29 日

Upgrades

此版本提供以下升级:

  • 已升级到 Presto 0.157.1。有关更多信息,请参阅 Presto 文档中的 Presto 发布说明

  • 已升级到 Zookeeper 3.4.9。有关更多信息,请参阅 Apache 文档中的 ZooKeeper 发布说明ZooKeeper。

更改和增强功能

以下是对版本标签 emr-5.2.1 的 Amazon EMR 版本进行的更改:

  • 在 Amazon EMR 版本 4.8.3 及更高版本(但不包括 5.0.0、5.0.3 和 5.2.0)中添加了对 Amazon EC2 m4.16xlarge 实例类型的支持。

  • Amazon EMR 版本现在基于 Amazon Linux 2016.09。有关更多信息,请参阅 https://aws.amazon.com/amazon-linux-ami/2016.09-release-notes/

  • 现在,Flink 和 YARN 配置路径的位置默认在 /etc/default/flink 中设置,您在运行 FLINK_CONF_DIRHADOOP_CONF_DIR 驱动程序脚本启动 Flink 作业时,无需设置环境变量 flinkyarn-session.sh

  • 添加了对 FlinkKinesisConsumer 类的支持。

早期版本中已解决的已知问题

  • 修复了 Hadoop 中的一个问题,即,ReplicationMonitor 线程可能因在大型集群中复制和删除同一文件之间的争用而卡住很长时间。

  • 修复了以下问题:作业状态未成功更新时,ControlledJob#toString 出现空指针异常 (NPE) 失败。

版本 5.2.0

以下发布说明包括有关 Amazon EMR 5.2.0 版本的信息。更改与 Amazon EMR 5.1.0 版本相关。

发布日期: 2016 年 11 月 21 日

更改和增强功能

此版本中提供了以下更改和增强功能:

  • 添加了适用于 Amazon S3 的 HBase 存储模式。

  • 使您能够为 Amazon S3 rootdir 指定 HBase 位置。有关更多信息,请参阅 HBase 上的 Amazon S3

Upgrades

此版本提供以下升级:

  • 已升级到 Spark 2.0.2

早期版本中已解决的已知问题

  • 修复了限制为仅 EBS 实例类型上的 2 TB 的 /mnt 的问题。

  • 修复了输出到相应的 .out 文件而不是常规 log4j 配置的 .log 文件 (每小时轮换一次) 的 instance-controller 和 logpusher 日志的问题。.out 文件不会轮换,因此这最终将填满 /emr 分区。此问题仅影响硬件虚拟机 (HVM) 实例类型。

版本 5.1.0

以下发布说明包括有关 Amazon EMR 5.1.0 版本的信息。更改与 Amazon EMR 5.0.0 版本相关。

发布日期: 2016 年 11 月 03 日

更改和增强功能

此版本中提供了以下更改和增强功能:

  • 增加了对 Flink 1.1.3 的支持。

  • Presto 已作为 Hue 的记事本部分中的选项添加。

Upgrades

此版本提供以下升级:

  • 已升级到 HBase 1.2.3

  • 已升级到 Zeppelin 0.6.2

早期版本中已解决的已知问题

  • 修复了带 ORC 文件的 Amazon S3 上的 Tez 查询的性能低于早期 Amazon EMR 4.x 版本中的性能的问题。

版本 5.0.3

以下发布说明包括有关 Amazon EMR 5.0.3 版本的信息。更改与 Amazon EMR 5.0.0 版本相关。

发布日期: 2016 年 10 月 24 日

Upgrades

此版本提供以下升级:

  • 已升级到 Hadoop 2.7.3

  • 已升级到 Presto 0.152.3,它包括对 Presto Web 界面的支持。可使用端口 8889 访问 Presto 协调器上的 Presto Web 界面。有关 Presto Web 界面的更多信息,请参阅 Presto 文档中的 Web 界面

  • 已升级到 Spark 2.0.1

  • Amazon EMR 版本现在基于 Amazon Linux 2016.09。有关更多信息,请参阅 https://aws.amazon.com/amazon-linux-ami/2016.09-release-notes/

版本 5.0.0

发布日期: 2016 年 7 月 27 日

Upgrades

此版本提供以下升级:

  • 已升级到 Hive 2.1

  • 已升级到 Presto 0.150

  • 已升级到 Spark 2.0

  • 已升级到 Hue 3.10.0

  • 已升级到 Pig 0.16.0

  • 已升级到 Tez 0.8.4

  • 已升级到 Zeppelin 0.6.1

更改和增强功能

以下是对版本标签 emr-5.0.0 或更高版本的 Amazon EMR 版本进行的更改:

  • Amazon EMR 支持最新开源版本的 Hive (2.1 版) 和 Pig (0.16.0 版)。如果您以前使用的是 Amazon EMR 上的 Hive 或 Pig,那么这可能会影响某些使用案例。有关更多信息,请参阅 HivePig

  • Hive 和 Pig 的默认执行引擎现在是 Tez。要更改该设置,您可以在 hive-sitepig-properties 配置分类中分别编辑相应的值。

  • 添加了增强型步骤调试功能,可让您查看步骤失败的根本原因 (如果服务可以确定原因)。有关更多信息,请参阅 Amazon EMR 管理指南中的增强型步骤调试

  • 先前以“-Sandbox”结尾的应用程序不再拥有该后缀。这可能会中断您的自动化,例如,如果您使用脚本来启动具有这些应用程序的集群。下表显示了 Amazon EMR 4.7.2 与 Amazon EMR 5.0.0 中的应用程序名称。

    应用程序名称更改
    Amazon EMR 4.7.2 Amazon EMR 5.0.0
    Oozie-Sandbox Oozie
    Presto-Sandbox Presto
    Sqoop-Sandbox Sqoop
    Zeppelin-Sandbox Zeppelin
    ZooKeeper - 沙盒 ZooKeeper
  • Spark 现在针对 Scala 2.11 进行编译。

  • Java 8 现在是默认 JVM。所有应用程序均使用 Java 8 runtime 运行。对任何应用程序的字节代码目标都没有进行更改。大多数应用程序继续运行 Java 7。

  • Zeppelin 现在包括身份验证功能。有关更多信息,请参阅 Zeppelin

  • 添加了对安全配置的支持,这使您可以更轻松地创建和应用加密选项。有关更多信息,请参阅数据加密

版本 4.9.5

以下发行说明包括有关 Amazon EMR 发布版本 4.9.5 的信息。与 4.9.4 相关的更改。

首次发布日期:2018 年 8 月 29 日

更改、增强和解决的问题

  • HBase

    • 此发布版本解决了潜在的安全漏洞。

版本 4.9.4

以下发布说明包括有关 Amazon EMR 发布版本 4.9.4 的信息。更改与 4.9.3 相关。

首次发布日期:2018 年 3 月 29 日

更改、增强和解决的问题

  • 更新了 Amazon EMR 的默认 Amazon Linux AMI 的 Amazon Linux 内核以消除潜在的安全漏洞。

版本 4.9.3

以下发布说明包括有关 Amazon EMR 4.9.3 版本的信息。更改与 Amazon EMR 4.9.2 版本相关。

首次发布日期: 2018 年 1 月 22 日

更改、增强和解决的问题

版本 4.9.2

以下发布说明包括有关 Amazon EMR 4.9.2 版本的信息。更改与 Amazon EMR 4.9.1 版本相关。

发布日期: 2017 年 7 月 13 日

此版本略微进行了一些改动、错误修复和增强。

版本 4.9.1

以下发布说明包括有关 Amazon EMR 4.9.1 版本的信息。更改与 Amazon EMR 4.8.4 版本相关。

发布日期: 2017 年 4 月 10 日

早期版本中已解决的已知问题

  • 已逆向移植 HIVE-9976HIVE-10106

  • 修复了 YARN 中的一个问题,即,大量节点(大于 2000 个)和容器(大于 5000 个)将导致内存不足错误,例如: "Exception in thread 'main' java.lang.OutOfMemoryError"

更改和增强功能

以下是对版本标签 emr-4.9.1 的 Amazon EMR 版本进行的更改:

版本 4.8.4

以下发布说明包括有关 Amazon EMR 4.8.4 版本的信息。更改与 Amazon EMR 4.8.3 版本相关。

发布日期: 2017 年 2 月 7 日

此版本略微进行了一些改动、错误修复和增强。

版本 4.8.3

以下发布说明包括有关 Amazon EMR 4.8.3 版本的信息。更改与 Amazon EMR 4.8.2 版本相关。

发布日期: 2016 年 12 月 29 日

Upgrades

此版本提供以下升级:

  • 已升级到 Presto 0.157.1。有关更多信息,请参阅 Presto 文档中的 Presto 发布说明

  • 已升级到 Spark 1.6.3。有关更多信息,请参阅 Apache Spark 文档中的 Spark 发布说明

  • 已升级到 ZooKeeper 3.4.9。有关更多信息,请参阅 Apache 文档中的 ZooKeeper 发布说明ZooKeeper。

更改和增强功能

以下是对版本标签 emr-4.8.3 的 Amazon EMR 版本进行的更改:

早期版本中已解决的已知问题

  • 修复了 Hadoop 中的一个问题,即,ReplicationMonitor 线程可能因在大型集群中复制和删除同一文件之间的争用而卡住很长时间。

  • 修复了以下问题:作业状态未成功更新时,ControlledJob#toString 出现空指针异常 (NPE) 失败。

版本 4.8.2

以下发布说明包括有关 Amazon EMR 4.8.2 版本的信息。更改与 Amazon EMR 4.8.2 版本相关。

发布日期: 2016 年 10 月 24 日

Upgrades

此版本提供以下升级:

  • 已升级到 Hadoop 2.7.3

  • 已升级到 Presto 0.152.3,它包括对 Presto Web 界面的支持。可使用端口 8889 访问 Presto 协调器上的 Presto Web 界面。有关 Presto Web 界面的更多信息,请参阅 Presto 文档中的 Web 界面

  • Amazon EMR 版本现在基于 Amazon Linux 2016.09。有关更多信息,请参阅 https://aws.amazon.com/amazon-linux-ami/2016.09-release-notes/

版本 4.8.0

发布日期: 2016 年 9 月 7 日

Upgrades

此版本提供以下升级:

  • 已升级到 HBase 1.2.2

  • 已升级到 Presto-Sandbox 0.151

  • 已升级到 Tez 0.8.4

  • 已升级到 Zeppelin-Sandbox 0.6.1

更改和增强功能

以下是对版本标签 emr-4.8.0 的 Amazon EMR 版本进行的更改:

  • 修复了 YARN 中的一个问题,即 ApplicationMaster 将尝试清除不再存在的容器,因为它们的实例已终止。

  • 更正了 Oozie 示例中 Hive2 操作的 hive-server2 URL。

  • 添加了对其他 Presto 目录的支持。

  • 已逆向移植的补丁: HIVE-8948HIVE-12679HIVE-3405PHOENIX-3116HADOOP-12689

  • 添加了对安全配置的支持,这使您可以更轻松地创建和应用加密选项。有关更多信息,请参阅数据加密

版本 4.7.2

以下发布说明包括有关 Amazon EMR 4.7.2 的信息。

发布日期: 2016 年 7 月 15 日

Features

此版本提供以下功能:

  • 已升级到 Mahout 0.12.2

  • 已升级到 Presto 0.148

  • 已升级到 Spark 1.6.2

  • 现在,您可以使用 URI 作为参数来创建与 EMRFS 一起使用的 AWSCredentialsProvider。有关更多信息,请参阅为 EMRFS 创建 AWSCredentialsProvider。

  • EMRFS 现在允许用户使用 emrfs-site.xml 中的 fs.s3.consistent.dynamodb.endpoint 属性来为其一致视图元数据配置自定义 DynamoDB 终端节点。

  • /usr/bin 中添加了一个名为 spark-example 的脚本,它将包装 /usr/lib/spark/spark/bin/run-example,因此您可以直接运行示例。例如,要运行 Spark 分配附带的 SparkPi 示例,您可以从命令行运行 spark-example SparkPi 100 或使用 command-runner.jar 作为 API 中的步骤。

早期版本中已解决的已知问题

  • 修复了 Oozie 在安装 Spark 后拥有的 spark-assembly.jar 未位于正确位置 (这导致使用 Oozie 启动 Spark 应用程序失败) 的问题。

  • 修复了与 YARN 容器中基于 Spark Log4j 的登录有关的问题。

版本 4.7.1

发布日期: 2016 年 6 月 10 日

早期版本中已解决的已知问题

  • 修复了延长带有私有子网的 VPC 中启动的集群的启动时间的问题。此错误仅影响使用 Amazon EMR 4.7.0 版本启动的集群。

  • 修复了在 Amazon EMR 中错误处理针对使用 Amazon EMR 4.7.0 版本启动的集群的文件列表的问题。

版本 4.7.0

重要

Amazon EMR 4.7.0 已被弃用。请改用 Amazon EMR 4.7.1 或更高版本。

发布日期: 2016 年 6 月 2 日

Features

此版本提供以下功能:

  • 已添加 Apache Phoenix 4.7.0

  • 已添加 Apache Tez 0.8.3

  • 已升级到 HBase 1.2.1

  • 已升级到 Mahout 0.12.0

  • 已升级到 Presto 0.147

  • 已将 AWS SDK for Java 升级到 1.10.75

  • 已从 mapreduce.cluster.local.dir 中的 mapred-site.xml 属性中删除最终标志以允许用户以本地模式运行 Pig。

集群上可用的 Amazon Redshift JDBC 驱动程序

Amazon Redshift JDBC 驱动程序现在包含在 /usr/share/aws/redshift/jdbc 中。/usr/share/aws/redshift/jdbc/RedshiftJDBC41.jar 是与 JDBC 4.1 兼容的 Amazon Redshift 驱动程序,/usr/share/aws/redshift/jdbc/RedshiftJDBC4.jar 是与 JDBC 4.0 兼容的 Amazon Redshift 驱动程序。有关更多信息,请参阅 https://docs.amazonaws.cn/redshift/latest/mgmt/configure-jdbc-connection.html 中的配置 JDBC 连接Amazon Redshift Cluster Management Guide。

Java 8

除了 Presto 之外,OpenJDK 1.7 是用于所有应用程序的默认 JDK。但是,将同时安装 OpenJDK 1.7 和 1.8。有关如何为应用程序设置 JAVA_HOME 的信息,请参阅配置应用程序以使用 Java 8

早期版本中已解决的已知问题

  • 修复了已明显影响 emr-4.6.0 中的 Amazon EMR 的吞吐量优化 HDD (st1) EBS 卷上的性能的内核问题。

  • 修复了在不选择 Hadoop 作为应用程序的情况下指定任何 HDFS 加密区域时集群将失败的问题。

  • 将默认 HDFS 写入策略从 RoundRobin 更改为 AvailableSpaceVolumeChoosingPolicy。 一些卷在 RoundRobin 配置中未正确利用,这会导致核心节点发生故障以及 HDFS 不可靠。

  • 修复了与 EMRFS CLI 有关的问题,此问题将在创建默认 DynamoDB 元数据表以获得一致视图时导致异常。

  • 修复了在分段重命名和复制操作期间可能发生在 EMRFS 中的死锁问题。

  • 修复了导致 CopyPart 大小默认值为 5 MB 的 EMRFS 问题。默认值现已相应地设置为 128 MB。

  • 修复了与 Zeppelin upstart 配置有关的问题,此问题可能会阻止您停止服务。

  • 修复了与 Spark 和 Zeppelin 有关的问题,此问题会阻止您使用 s3a:// URI 方案,因为 /usr/lib/hadoop/hadoop-aws.jar 未在其各自的类路径中正确加载。

  • 已逆向移植 HUE-2484

  • 已从 Hue 3.9.0(不存在 JIRA)逆向移植 commit 以修复 HBase 浏览器示例的问题。

  • 已逆向移植 HIVE-9073

版本 4.6.0

发布日期: 2016 年 4 月 21 日

Features

此版本提供以下功能:

影响吞吐量优化 HDD (st1) EBS 卷类型的问题

Linux 内核版本 4.2 及更高版本中的问题将显著影响 EMR 的吞吐量优化 HDD (st1) EBS 卷上的性能。此版本 (emr-4.6.0) 使用内核版本 4.4.5,因此会受到影响。因此,如果您打算使用 st1 EBS 卷,我们建议您不要使用 emr-4.6.0。您可将 emr-4.5.0 或早期 Amazon EMR 版本与 st1 配合使用,而不会产生影响。此外,我们将随将来版本一起提供修复程序。

Python 默认值

现在,默认情况下已安装 Python 3.4,但 Python 2.7 将保留系统默认值。您可以使用引导操作将 Python 3.4 配置为系统默认值;您可以使用配置 API 将 PYSPARK_PYTHON 导出设置为 /usr/bin/python3.4 分类中的 spark-env 以影响 PySpark 使用的 Python 版本。

Java 8

除了 Presto 之外,OpenJDK 1.7 是用于所有应用程序的默认 JDK。但是,将同时安装 OpenJDK 1.7 和 1.8。有关如何为应用程序设置 JAVA_HOME 的信息,请参阅配置应用程序以使用 Java 8

早期版本中已解决的已知问题

  • 修复了应用程序预置有时会因生成的密码导致随机失败的问题。

  • 之前,mysqld 已安装在所有节点上。现在,它仅安装在主实例上,而且仅在所选应用程序将 mysql-server 作为组件包含时安装。目前,以下应用程序包含 mysql-server 组件: HCatalog、Hive、Hue、Presto-Sandbox 和 Sqoop-Sandbox。

  • 已将 yarn.scheduler.maximum-allocation-vcores 从默认值 32 更改为 80,这修复了 emr-4.4.0 中引入的一个问题,此问题主要在使用集群 (其核心实例类型为具有高于 32 的 YARN 虚拟核心集的几个大型实例类型之一) 中的 maximizeResourceAllocation 选项时与 Spark 时一起出现;也就是说,此问题影响了 c4.8xlarge、cc2.8xlarge、hs1.8xlarge、i2.8xlarge、m2.4xlarge、r3.8xlarge、d2.8xlarge 或 m4.10xlarge。

  • s3-dist-cp 现在对所有 Amazon S3 提名使用 EMRFS,并且不再过渡到临时 HDFS 目录。

  • 修复了与针对客户端加密分段上传的异常处理有关的问题。

  • 添加了允许用户更改 Amazon S3 存储类的选项。默认情况下,该设置为 STANDARD。 配置分类设置为 emrfs-site,可能的值为 fs.s3.storageClassSTANDARDSTANDARD_IAREDUCED_REDUNDANCY 有关存储类的更多信息,请参阅 中的存储类Amazon Simple Storage Service 开发人员指南。

版本 4.5.0

发布日期: 2016 年 4 月 4 日

Features

此版本提供以下功能:

  • 已升级到 Spark 1.6.1

  • 已升级到 Hadoop 2.7.2

  • 已升级到 Presto 0.140

  • 添加了对 Amazon S3 服务器端加密的 AWS KMS 支持。

早期版本中已解决的已知问题

  • 修复了重启节点后 MySQL 和 Apache 服务器无法启动的问题。

  • 修复了 IMPORT 未正确使用存储在 Amazon S3 中的非分区表的问题

  • 修复了与 Presto 有关的问题,此问题导致在写入 Hive 表时要求暂存目录为 /mnt/tmp 而不是 /tmp

版本 4.4.0

发布日期: 2016 年 3 月 14 日

Features

此版本提供以下功能:

  • 增加了 HCatalog 1.0.0

  • 已添加 Sqoop-Sandbox 1.4.6

  • 已升级到 Presto 0.136

  • 已升级到 Zeppelin 0.5.6

  • 已升级到 Mahout 0.11.1

  • 默认情况下已启用 dynamicResourceAllocation

  • 已添加针对此版本的所有配置分类的表。有关更多信息,请参阅配置应用程序中的“配置分类”表。

早期版本中已解决的已知问题

  • 修复了以下问题:maximizeResourceAllocation 设置不会为 YARN ApplicationMaster 守护程序预留足够的内存。

  • 修复了遇到的与自定义 DNS 相关的问题。如果 resolve.conf 中的任何条目位于提供的自定义条目之前,则自定义条目不可解析。此行为受 VPC 中集群的影响,其中,默认 VPC 名称服务器已作为顶部条目插入 resolve.conf 中。

  • 修复了默认 Python 已移至版本 2.7 且未为该版本安装 boto 的问题。

  • 修复了 YARN 容器和 Spark 应用程序将生成唯一 Ganglia 轮询数据库 (rrd) 文件的问题,此问题导致第一个磁盘已挂载到填满的实例。由于进行了这项修复,YARN 容器级别指标和 Spark 应用程序级别指标都已禁用。

  • 修复了导致日志推送程序中删除所有空日志文件夹的问题。影响是 Hive CLI 无法记录日志,因为日志推送程序已删除 user 下的空 /var/log/hive 文件夹。

  • 修复了影响 Hive 导入的问题,此问题影响分区并导致在导入过程中出现错误。

  • 修复了 EMRFS 和 s3-dist-cp 未正确处理包含句点的存储桶名称的问题。

  • 更改了 EMRFS 中的行为,以便在启用版本控制的存储桶中,不会持续创建 _$folder$ 标记文件,从而有助于提高启用版本控制的存储桶的性能。

  • 更改了 EMRFS 中的行为,使它不会使用说明文件,已启用客户端加密的情况除外。如果您要在使用客户端加密时删除说明文件,可将 emrfs-site.xml 属性 fs.s3.cse.cryptoStorageMode.deleteInstructionFiles.enabled 设置为 true。

  • 更改了 YARN 日志聚合以在聚合目标中将日志保留两天。默认目标为您的集群的 HDFS 存储。如果您要更改此持续时间,请在创建集群时使用 yarn.log-aggregation.retain-seconds 配置分类来更改 yarn-site 的值。与往常一样,您可以在创建集群时使用 log-uri 参数将应用程序日志保存到 Amazon S3。

已应用的修补程序

此版本中包含了来自开源项目的以下修补程序:

版本 4.3.0

发布日期: 2016 年 1 月 19 日

Features

此版本提供以下功能:

  • 已升级到 Hadoop 2.7.1

  • 已升级到 Spark 1.6.0

  • 已将 Ganglia 升级到 3.7.2

  • 已将 Presto 升级到 0.130

spark.dynamicAllocation.enabled 设置为 true 时,Amazon EMR 已对其做出一些更改;默认情况下,此项为 false。如果设置为 true,则会影响由 maximizeResourceAllocation 设置设定的默认值:

  • spark.dynamicAllocation.enabled设为 true,则 spark.executor.instances 将不被 maximizeResourceAllocation 设置。

  • 目前,spark.driver.memory 设置根据集群中的实例类型进行配置,与 spark.executors.memory 设置的方式类似。但是,由于 Spark 驱动应用程序可在主实例或核心实例之一上运行 (例如在 YARN 客户端和集群模式下分别进行),spark.driver.memory 设置根据更小实例类型的实例类型,在两个实例组之间进行。

  • 目前,spark.default.parallelism 设置为 YARN 容器可用的 CPU 内核数的两倍。在上一版本中,这是该值的一半。

  • 为 Spark YARN 过程预留的内存开销计算精确性被优化,从而使得 Spark 可用内存总量略有增加 (即spark.executor.memory)。

早期版本中已解决的已知问题

  • 默认情况下,现已启用 YARN 日志聚合。

  • 修复了在启用 YARN 日志聚合后日志未推送至集群的 Amazon S3 日志存储桶的问题。

  • YARN 容器大小现跨所有节点类型具有新的最小值 32。

  • 修复了与 Ganglia 有关的问题,此问题已导致大型集群中主节点上的磁盘 I/O 过多。

  • 修复了在关闭集群时阻止应用程序日志推送至 Amazon S3 的问题。

  • 修复了 EMRFS CLI 中导致某些命令失败的问题。

  • 修复了与 Zeppelin 有关的问题,此问题导致依赖项无法加载到底层 SparkContext 中。

  • 修复了因发出尝试添加实例的调整大小命令导致的问题。

  • 修复了 Hive 中的问题,此问题导致 CREATE TABLE AS SELECT 对 Amazon S3 进行过多的列表调用。

  • 修复了在安装 Hue、Oozie 和 Ganglia 时无法正常预置大型集群的问题。

  • 修复了 s3-dist-cp 中的问题,此问题导致即使在失败并出现错误的情况下仍将返回零退出代码。

已应用的修补程序

此版本中包含了来自开源项目的以下修补程序:

版本 4.2.0

发布日期: 2015 年 11 月 18 日

Features

此版本提供以下功能:

  • 已添加 Ganglia 支持

  • 已升级到 Spark 1.5.2

  • 已升级到 Presto 0.125

  • 已将 Oozie 升级到 4.2.0

  • 已将 Zeppelin 升级到 0.5.5

  • 已将 AWS SDK for Java 升级到 1.10.27

早期版本中已解决的已知问题

  • 修复了与 EMRFS CLI 有关的问题,此问题发导致不使用默认元数据表名称。

  • 修复了在 Amazon S3 中使用 ORC 支持的表时遇到的问题。

  • 修复了遇到的 Python 版本在 Spark 配置中不匹配的问题。

  • 修复了 YARN 节点状态因 VPC 中集群的 DNS 问题导致无法报告的问题。

  • 修复了 YARN 已停用节点从而导致应用程序挂起且无法计划新应用程序时遇到的问题。

  • 修复了集群终止且状态为 TIMED_OUT_STARTING 时遇到的问题。

  • 修复了在其他内部版本中包含 EMRFS Scala 依赖项时遇到的问题。Scala 依赖项已被删除。