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 发布版本可用时接收更新。

版本 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。

版本 5.25.0

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

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

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

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

更改、增强和解决的问题

  • 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 管理指南 中的加密选项

版本 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).

版本 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 管理指南 中的加密选项

版本 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

版本 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

发布版本 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).

版本 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 上的依赖性。

版本 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 上的依赖性。

版本 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 的步骤。

版本 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 客户端库。

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

已知问题

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

版本 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

版本 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 版本相关。

升级

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

  • Hive 2.3.2

  • Spark 2.2.1

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

新功能

  • Spark

    • 增加了 spark.decommissioning.timeout.threshold 设置,这将改进使用 Spot 实例时的 Spark 停用行为。有关更多信息,请参阅配置节点退役行为

    • 向 Spark 添加了 aws-sagemaker-spark-sdk 组件,此组件将安装 Amazon SageMaker Spark 和用于 Spark 与 Amazon SageMaker 集成的关联依赖项。您可以使用 Amazon SageMaker Spark 构造使用 Amazon SageMaker 阶段的 Spark 机器学习 (ML) 管道。有关更多信息,请参阅 GitHub 上的 SageMaker Spark 自述文件Amazon SageMaker 开发人员指南中的将 Apache Spark 与 Amazon SageMaker 结合使用

已知问题

  • 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 版本相关。

升级

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

  • 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 软件包。自定义 AMI 和 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 日

升级

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

  • 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 Livy

  • 添加了对 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-18533,因此可以使用 hbase-site 配置分类为 HBase BucketCache 配置使用其他值。

  • 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 日

升级

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

  • AWS SDK 1.11.160

  • Flink 1.3.1

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

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

新功能

  • 添加了对查看应用程序历史记录的支持 (2017 年 9 月 25 日)。有关更多信息,请参阅 Amazon EMR 管理指南中的查看应用程序历史记录

更改、增强和解决的问题

  • 与 AWS Glue Data Catalog集成

  • 已向集群详细信息添加 Application history (应用程序历史记录),这可让您查看 YARN 应用程序的历史数据以及 Spark 应用程序的其他详细信息。有关更多信息,请参阅 Amazon EMR 管理指南中的查看应用程序历史记录

  • Oozie

  • Hue

  • HBase

    • 添加了补丁,以使用 getMasterInitializedTime 通过 Java 管理扩展 (JMX) 公开 HBase 主服务器启动时间。

    • 添加了改进集群启动时间的补丁。

已知问题

  • 当安装了所有应用程序且未更改默认 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 日

升级

  • 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 日

升级

  • 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 日

升级

  • 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 -n 2 -d 将使用两个任务管理器在分离状态下启动长时间运行的 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 月 8 日

升级

此版本提供以下升级:

  • 已升级到 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 日

升级

此版本提供以下升级:

  • 已升级到 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 日

升级

此版本提供以下升级:

  • 已升级到 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 日

更改和增强功能

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

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

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

升级

此版本提供以下升级:

  • 已升级到 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 月 3 日

更改和增强功能

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

  • 增加了对 Flink 1.1.3 的支持。

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

升级

此版本提供以下升级:

  • 已升级到 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 日

升级

此版本提供以下升级:

  • 已升级到 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

发布日期:2017 年 7 月 27 日

升级

此版本提供以下升级:

  • 已升级到 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-Sandbox 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 日

升级

此版本提供以下升级:

  • 已升级到 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 日

升级

此版本提供以下升级:

  • 已升级到 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 日

升级

此版本提供以下升级:

  • 已升级到 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-13405PHOENIX-3116HADOOP-12689

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

版本 4.7.2

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

发布日期:2016 年 7 月 15 日

功能

此版本提供以下功能:

  • 已升级到 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 日

功能

此版本提供以下功能:

  • 已添加 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 驱动程序。有关更多信息,请参阅 Amazon Redshift Cluster Management Guide中的配置 JDBC 连接

Java 8

OpenJDK 1.7 是用于所有应用程序 (Presto 除外) 的默认 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 中的死锁问题。

  • 修复了与 EMRFS 有关的问题,此问题导致 CopyPart 大小默认为 5 MB。默认值现已相应地设置为 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 日

功能

此版本提供以下功能:

影响吞吐量优化 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

OpenJDK 1.7 是用于所有应用程序 (Presto 除外) 的默认 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 存储类的选项。默认情况下,此设置为 STANDARDemrfs-site 配置分类设置为 fs.s3.storageClass,可能的值为 STANDARDSTANDARD_IAREDUCED_REDUNDANCY。有关存储类的更多信息,请参阅 Amazon Simple Storage Service 开发人员指南中的存储类

版本 4.5.0

发布日期:2016 年 4 月 4 日

功能

此版本提供以下功能:

  • 已升级到 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 日

功能

此版本提供以下功能:

  • 已添加 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 日

功能

此版本提供以下功能:

  • 已升级到 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 日

功能

此版本提供以下功能:

  • 已添加 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 依赖项已被删除。