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

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

Amazon EMR 最新历史

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

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

第 5.33.0 版

以下发布说明包括有关亚马逊 EMR 发布版本 5.33.0 的信息。更改是相对于 5.32.0 而言。

首次发布日期:2021 年 4 月 19 日

Upgrades

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

  • 已将升级到版本 1.11.970

  • 已将 EMRFS 升级到版本 2.46.0

  • 已将 EMR 已将 ER 更新为版本 2.14.0

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

  • 已将 EMR S3 分区 CP 升级到版本 2.18.0

  • 已将 EMR 秘密代理升级到版本 1.8.0

  • 已将 Flink 升级到版本 1.12.1

  • 已将 Hadoop 升级到版本 2.10.1-amzn-1

  • 已将 Hive 升级到版本 2.3.7-amzn-4

  • 已将 Hudi 升级到版本 0.7.0

  • 已将 Hue 升级到版本 4.9.0

  • 已将 OpenCV 升级到版本 4.5.0

  • 已将 Presto 升级到版本 0.245.1-amzn-0

  • 已将 R 升级到版本 4.0.2

  • 已将 Spark 升级到版本 2.4.7-amzn-1

  • 已将 TensorFlow 升级到版本 2.4.1

  • 已将 Zeppelin 升级到版本 0.9.0

更改、增强和已解决的问题

新功能

  • 亚马逊 EMR-5.33 支持新的 Amazon EC2 实例类型:c5a、c5ad、c6gd、m6gd、d3、m5zn、r5b、r6gd。请参阅支持的实例类型

已知问题

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到 “服务” 部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重新启动实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/bin/bash for user in hadoop spark hive; do sudo tee /etc/security/limits.d/$user.conf << EOF $user - nofile 65536 $user - nproc 65536 EOF done for proc in instancecontroller logpusher; do sudo mkdir -p /etc/systemd/system/$proc.service.d/ sudo tee /etc/systemd/system/$proc.service.d/override.conf << EOF [Service] LimitNOFILE=65536 LimitNPROC=65536 EOF pid=$(pgrep -f aws157.$proc.Main) sudo prlimit --pid $pid --nofile=65535:65535 --nproc=65535:65535 done sudo systemctl daemon-reload
  • 重要

    运行亚马逊 Linux 或 Amazon Linux 2 AMI(亚马逊 Linux 计算机映像)的 Amazon EMR 集群使用默认的 Amazon Linux 行为,并且不会自动下载和安装需要重新启动的重要和关键的内核更新。这与运行默认 Amazon Linux AMI 的其他 Amazon EC2 实例的行为相同。如果在 Amazon EMR 版本发布后需要重新启动的新 Amazon Linux 软件更新(如内核、NVIDIA 和 CUDA 更新)变为可用,则运行默认 AMI 的 Amazon EMR 集群实例不会自动下载和安装这些更新。要获取内核更新,您可以自定义您的亚马逊 EMR AMI使用最新的 Amazon Linux AMI

  • 控制台支持以创建一个安全配置来指定Amazon“GovCloud” 地区目前不支持游侠集成选项。安全配置可以使用 CLI 完成。请参阅创建 EMR 安全配置中的Amazon EMR 管理指南

  • 限定范围的托管策略:对齐Amazon最佳实践中,Amazon EMR 引入了 v2 EMR 范围的默认托管策略,作为将弃用的策略的替代品。请参阅Amazon EMR 托管策略

第 5.32.0 版

以下发布说明包括有关亚马逊 EMR 发布版本 5.32.0 的信息。更改是相对于 5.31.0 而言。

首次发布日期:2021 年 1 月 8 日

Upgrades

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

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

  • 已将升级到版本 1.11.890

  • 已升级的 EMR DynamoDB 连接器 4.16.0 版

  • 已将 EMRFS 升级到版本 2.45.0

  • 已将 EMR 日志分析指标升级到版本 1.18.0

  • 将 EMR 度量升级为版本 1.5.0

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

  • 已将 EMR S3 分区 CP 升级到版本 2.17.0

  • 已将 EMR 秘密代理升级到版本 1.7.0

  • 已将 Flink 升级到版本 1.11.2

  • 已将 Hadoop 升级到版本 2.10.1-amzn-0

  • 已将 Hive 升级到版本 2.3.7-amzn-3

  • 已将 Hue 升级到版本 4.8.0

  • 已将 Mxnet 升级到版本 1.7.0

  • 已将 OpenCV 升级到版本 4.4.0

  • 已将 Presto 升级到版本 0.240.1-amzn-0

  • 已将 Spark 升级到版本 2.4.7-amzn-0

  • 已将 TensorFlow 升级到版本 2.3.1

更改、增强和已解决的问题

新功能

  • 实例元数据服务 (IMDS) V2 支持状态:亚马逊 EMR 5.23.1、5.27.1 和 5.32 或更高版本的组件对所有 IMDS 呼叫都使用 IMDSv2。对于应用程序代码中的 IMDS 调用,您可以同时使用 IMDSv1 和 IMDSv2,或者将 IMDS 配置为仅使用 IMDSv2 以提高安全性。对于其他 5.x EMR 版本,禁用 IMDSv1 会导致群集启动失败。

  • 从 Amazon EMR 5.32.0 开始,您可以启动与 Apache Ranger 本地集成的集群。Apache Ranger 是一个开源框架,用于跨 Hadoop 平台启用、监控和管理全面的数据安全。有关更多信息,请参阅 。Apache 游侠。通过本机集成,您可以携带自己的 Apache Ranger,在 Amazon EMR 上强制实施细粒度的数据访问控制。请参阅将亚马逊 EMR 与阿帕奇游侠集成中的Amazon EMR 版本指南

  • 亚马逊 EMR 5.32.0 版支持 EKS 上的亚马逊 EMR。有关 EKS 上 EMR 入门的详细信息,请参阅什么是 Amazon EMR 在 EKS 上

  • 亚马逊 EMR 5.32.0 版支持亚马逊 EMR 工作室(预览版)。有关 EMR Studio 入门的更多详细信息,请参阅Amazon EMR Studio(预览版本)

  • 限定范围的托管策略:对齐Amazon最佳实践中,Amazon EMR 引入了 v2 EMR 范围的默认托管策略,作为将弃用的策略的替代品。请参阅Amazon EMR 托管策略

已知问题

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到 “服务” 部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重新启动实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/bin/bash for user in hadoop spark hive; do sudo tee /etc/security/limits.d/$user.conf << EOF $user - nofile 65536 $user - nproc 65536 EOF done for proc in instancecontroller logpusher; do sudo mkdir -p /etc/systemd/system/$proc.service.d/ sudo tee /etc/systemd/system/$proc.service.d/override.conf << EOF [Service] LimitNOFILE=65536 LimitNPROC=65536 EOF pid=$(pgrep -f aws157.$proc.Main) sudo prlimit --pid $pid --nofile=65535:65535 --nproc=65535:65535 done sudo systemctl daemon-reload
  • 重要

    运行亚马逊 Linux 或 Amazon Linux 2 AMI(亚马逊 Linux 计算机映像)的 Amazon EMR 集群使用默认的 Amazon Linux 行为,并且不会自动下载和安装需要重新启动的重要和关键的内核更新。这与运行默认 Amazon Linux AMI 的其他 Amazon EC2 实例的行为相同。如果在 Amazon EMR 版本发布后需要重新启动的新 Amazon Linux 软件更新(如内核、NVIDIA 和 CUDA 更新)变为可用,则运行默认 AMI 的 Amazon EMR 集群实例不会自动下载和安装这些更新。要获取内核更新,您可以自定义您的亚马逊 EMR AMI使用最新的 Amazon Linux AMI

  • 控制台支持以创建一个安全配置来指定Amazon“GovCloud” 地区目前不支持游侠集成选项。安全配置可以使用 CLI 完成。请参阅创建 EMR 安全配置中的Amazon EMR 管理指南

  • 在使用 EMR 5.31.0 或 5.32.0 的群集上启用了 ATEN 加密或 HDFS 加密时,Hive 查询会导致以下运行时异常。

    TaskAttempt 3 failed, info=[Error: Error while running task ( failure ) : attempt_1604112648850_0001_1_01_000000_3:java.lang.RuntimeException: java.lang.RuntimeException: Hive Runtime Error while closing operators: java.io.IOException: java.util.ServiceConfigurationError: org.apache.hadoop.security.token.TokenIdentifier: Provider org.apache.hadoop.hbase.security.token.AuthenticationTokenIdentifier not found

发布版本 6.2.0

以下发布说明包括有关亚马逊 EMR 发布版本 6.2.0 的信息。更改是相对于 6.1.0 而言。

首次发布日期:2020 年 12 月 09 日

上次更新日期:2021 年 3 月 24 日

支持的应用程序

  • Amazon SDK for Java版本 1.11.828

  • emr-记录-服务器版本 1.7.0

  • Flink 版本 1.11.2

  • Ganglia 版本 3.7.2

  • Hadoop 版本 3.2.1-amzn-1

  • HBase 版本 2.2.2.2.6-6-6-0

  • HBase-操作员-工具 1.0.0

  • HCatalog 版本 3.1.2-amzn-0

  • Hive 版本 3.1.2-2-2-3

  • 胡迪版本 0.6.0-0-0-0-0-0-0-0--1

  • Hue 4.8.0 版本 4.8.0

  • JupyterHub 1.1.0 版

  • Livy 0.7.0 版本 0.7.0

  • MxNet 1.7.0 版本 1.7.0

  • Oozie 版本 5.2.0

  • Phoenix 版本 5.0.0

  • Pig 0.17.0 版本 0.17.0

  • Presto 版本 0.238.3-amzn-1

  • PrestoSQL 版本 343

  • 火花版本 3.0.1-1-0

  • S火Plue 0.2.0

  • TensorFlow 版本 2.3.1

  • Zeppelin 版本 0.9.0-SNAPSHOT

  • Zookeeper 版本 3.4.14

  • 连接器和驱动器:DynamoDB 连接器 4.16.0

新功能

  • HBase: 删除了提交阶段的重命名,并添加了持久的 HFile 跟踪。请参阅持久性 H文件跟踪中的Amazon EMR 版本指南

  • HBase: 反向传输创建强制在压缩时缓存块的配置

  • PrestoDB:动态分区修剪的改进。基于规则的联接重排适用于未分区数据。

  • 限定范围的托管策略:对齐Amazon最佳实践中,Amazon EMR 引入了 v2 EMR 范围的默认托管策略,作为将弃用的策略的替代品。请参阅Amazon EMR 托管策略

  • 实例元数据服务 (IMDS) V2 支持状态:对于亚马逊 EMR 6.2 或更高版本,亚马逊 EMR 组件对所有 IMDS 呼叫都使用 IMDSv2。对于应用程序代码中的 IMDS 调用,您可以同时使用 IMDSv1 和 IMDSv2,或者将 IMDS 配置为仅使用 IMDSv2 以提高安全性。如果您在早期 Amazon EMR 6.x 版本中禁用 IMDSv1,则会导致群集启动失败。

更改、增强和已解决的问题

  • 火花:Spark 运行时的性能改进。

已知问题

  • 对于亚马逊 EMR 6.2.0 和 6.3.0 私有子网集群,您不能访问 Ganglia Web 用户界面。您将收到 “访问被拒绝 (403)” 错误。其他 Web 用户界面,如斯巴拉克、色相、JupyterHub、齐柏林、利维和 Tez 工作正常。公有子网群集上的 Ganglia Web UI 访问也正常工作。要解决该问题,请在主节点上重新启动 httpd 服务与sudo systemctl restart httpd

  • 亚马逊 EMR 6.2.0 中存在一个问题,其中 httpd 持续失败,导致 Ganglia 不可用。您会收到 "无法连接到服务器" 错误。若要修复已在运行的群集,请 SSH 到群集主节点并添加行Listen 80到该文件httpd.conf位于/etc/httpd/conf/httpd.conf。此问题已在亚马逊 EMR 6.3.0 中得到修复。

  • 当您使用安全配置时,HTTPD 在 EMR 6.2.0 群集上失败。这使得 Ganglia Web 应用程序用户界面不可用。要访问 Ganglia Web 应用程序用户界面,请添加Listen 80添加到/etc/httpd/conf/httpd.conf文件中的主节点。有关连接到集群的信息,请参阅使用 SSH Connect 到主节点

    当您使用安全配置时,EMR Notebooks 也无法与 EMR 6.2.0 群集建立连接。笔记本将无法列出内核和提交 Spark 作业。我们建议您改为将 EMR Notebooks 本与其他版本的 Amazon EMR 一起使用。

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到 “服务” 部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重新启动实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/bin/bash for user in hadoop spark hive; do sudo tee /etc/security/limits.d/$user.conf << EOF $user - nofile 65536 $user - nproc 65536 EOF done for proc in instancecontroller logpusher; do sudo mkdir -p /etc/systemd/system/$proc.service.d/ sudo tee /etc/systemd/system/$proc.service.d/override.conf << EOF [Service] LimitNOFILE=65536 LimitNPROC=65536 EOF pid=$(pgrep -f aws157.$proc.Main) sudo prlimit --pid $pid --nofile=65535:65535 --nproc=65535:65535 done sudo systemctl daemon-reload
  • 重要

    亚马逊 EMR 6.1.0 和 6.2.0 包含可能严重影响所有 Hudi 插入、插入和删除操作的性能问题。如果您计划将 Hudi 与亚马逊 EMR 6.1.0 或 6.2.0 结合使用,请联系Amazon支持,以获得修补的胡迪 RPM。

  • 重要

    运行亚马逊 Linux 或 Amazon Linux 2 AMI(亚马逊 Linux 计算机映像)的 Amazon EMR 集群使用默认的 Amazon Linux 行为,并且不会自动下载和安装需要重新启动的重要和关键的内核更新。这与运行默认 Amazon Linux AMI 的其他 Amazon EC2 实例的行为相同。如果在 Amazon EMR 版本发布后需要重新启动的新 Amazon Linux 软件更新(如内核、NVIDIA 和 CUDA 更新)变为可用,则运行默认 AMI 的 Amazon EMR 集群实例不会自动下载和安装这些更新。要获取内核更新,您可以自定义您的亚马逊 EMR AMI使用最新的 Amazon Linux AMI

  • 亚马逊 EMR 6.2.0 Maven 工件不会发布。它们将随亚马逊 EMR 的未来版本一起发布。

  • 使用 HBase 存储文件系统表的持久 HFile 跟踪不支持 HBase 区域复制功能。有关 HBase 区域复制的更多信息,请参阅时间段一致的高可用读取

  • 亚马逊 EMR 6.x 和 EMR 5.x 配置单元存储桶版本差异

    EMR 5.x 使用 OOS 阿帕奇配置单元 2,而在 EMR 6.x 中使用 OOS 阿帕奇配置单元 3。开源 Hive2 使用分段版本 1,而开源 Hive3 使用分段版本 2。Hive 2(EMR 5.x)和 Hive 3(EMR 6.x)之间的这个分段版本差异意味着 Hive 分段散列函数不同。请参见以下示例。

    下表分别是在 EMR 6.x 和 EMR 5.x 中创建的示例。

    -- Using following LOCATION in EMR 6.x CREATE TABLE test_bucketing (id INT, desc STRING) PARTITIONED BY (day STRING) CLUSTERED BY(id) INTO 128 BUCKETS LOCATION 's3://your-own-s3-bucket/emr-6-bucketing/'; -- Using following LOCATION in EMR 5.x LOCATION 's3://your-own-s3-bucket/emr-5-bucketing/';

    在 EMR 6.x 和 EMR 5.x 中插入相同的数据。

    INSERT INTO test_bucketing PARTITION (day='01') VALUES(66, 'some_data'); INSERT INTO test_bucketing PARTITION (day='01') VALUES(200, 'some_data');

    检查 S3 位置,显示存储桶文件名不同,因为散列函数在 EMR 6.x(Hive 3)和 EMR 5.x(Hive 2)之间不同。

    [hadoop@ip-10-0-0-122 ~]$ aws s3 ls s3://your-own-s3-bucket/emr-6-bucketing/day=01/ 2020-10-21 20:35:16 13 000025_0 2020-10-21 20:35:22 14 000121_0 [hadoop@ip-10-0-0-122 ~]$ aws s3 ls s3://your-own-s3-bucket/emr-5-bucketing/day=01/ 2020-10-21 20:32:07 13 000066_0 2020-10-21 20:32:51 14 000072_0

    您还可以通过在 EMR 6.x 的 Hive CLI 中运行以下命令来查看版本差异。请注意,它返回分段版本 2。

    hive> DESCRIBE FORMATTED test_bucketing; ... Table Parameters: bucketing_version 2 ...

第 5.31.0 版

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

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

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

Upgrades

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

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

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

  • 已将升级到版本 1.11.852

  • 已将 Bigtop 升级到版本 8.5.56

  • 已将 EMR FS 升级到版本 2.43.0

  • 将 EMR 度量升级为版本 1.4.0

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

  • 已将 EMR S3 升级到版本 1.6.0

  • 已将 Flink 升级到版本 1.11.0

  • 已将 Hadoop 升级到版本 2.10.0

  • 已将 Hive 升级到版本 2.3.7

  • 已将 Hudi 升级到版本 0.6.0

  • 已将 Hue 升级到版本 4.7.1

  • 已将 JupyterHub 升级到版本 1.1.0

  • 已将 Mxnet 升级到版本 1.6.0

  • 已将 OpenCV 升级到版本 4.3.0

  • 已将 Presto 升级到版本 0.238.3

  • 已将 TensorFlow 升级到版本 2.1.0

更改、增强和已解决的问题

新功能

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到 “服务” 部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重新启动实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/bin/bash for user in hadoop spark hive; do sudo tee /etc/security/limits.d/$user.conf << EOF $user - nofile 65536 $user - nproc 65536 EOF done for proc in instancecontroller logpusher; do sudo mkdir -p /etc/systemd/system/$proc.service.d/ sudo tee /etc/systemd/system/$proc.service.d/override.conf << EOF [Service] LimitNOFILE=65536 LimitNPROC=65536 EOF pid=$(pgrep -f aws157.$proc.Main) sudo prlimit --pid $pid --nofile=65535:65535 --nproc=65535:65535 done sudo systemctl daemon-reload
  • 借助亚马逊 EMR 5.31.0,您可以启动与 Lake Formation 成集成的集群。此集成提供精细列级别的数据筛选,以便对AmazonGlue 数据目录。它还可实现从企业身份系统对 EMR Notebooks 或 Apache Zeppelin 的联合身份单点登录。有关更多信息,请参阅 。集成 Amazon EMR 与Amazon Lake Formation中的Amazon EMR 管理指南

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

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

  • 在使用 EMR 5.31.0 或 5.32.0 的群集上启用了 ATEN 加密或 HDFS 加密时,Hive 查询会导致以下运行时异常。

    TaskAttempt 3 failed, info=[Error: Error while running task ( failure ) : attempt_1604112648850_0001_1_01_000000_3:java.lang.RuntimeException: java.lang.RuntimeException: Hive Runtime Error while closing operators: java.io.IOException: java.util.ServiceConfigurationError: org.apache.hadoop.security.token.TokenIdentifier: Provider org.apache.hadoop.hbase.security.token.AuthenticationTokenIdentifier not found

发布 6.1.0 发布说明

以下发布说明包括有关亚马逊 EMR 发布版本 6.1.0 的信息。更改是相对于 6.0.0 而言。

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

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

支持的应用程序

  • Amazon 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-操作员-工具 1.0.0

  • HCatalog 版本 3.1.2-amzn-0

  • Hive 版本 3.1.2-2-2-2-1-

  • Hudi 版本 0.5.2-incubating

  • Hue 4.7.1 版本 4.7.1

  • JupyterHub 版本 1.1.0

  • Livy 0.7.0 版本 0.7.0

  • MxNet 版本 1.6.0

  • Oozie 版本 5.2.0

  • Phoenix 版本 5.0.0

  • Presto 版本 0.232

  • PrestoSQL 版本 338

  • 火花版本 3.0.0-0-0-0-0-0-0

  • TensorFlow 版本 2.1.0

  • Zeppelin 版本 0.9.0-SNAPSHOT

  • Zookeeper 版本 3.4.14

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

新功能

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

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

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

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

  • EMR 6.1.0 支持 PrestoSQL 版本 338。有关更多信息,请参阅 。Presto

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

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

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

    • PrestoSQL 在单主集群和多主集群上均支持。在多主体群集上,需要外部 Hive 元数据仓才能运行 PrestoSQL 或 PrestoDB。请参阅具有多个主节点的 EMR 集群中支持的应用程序

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

    配置 Docker使用 Amazon EMR 6.x 通过 Docker 运行 Spark 应用程序

  • EMR 支持阿帕奇蜂巢 ACID 事务:亚马逊 EMR 6.1.0 增加了对蜂巢 ACID 交易的支持,因此它符合数据库的 ACID 属性。使用此功能,您可以使用 Amazon Simple Storage Service (Amazon S3) 中的数据在 Hive 托管表中运行插入、更新、删除和合并操作。这是用例如流式传输、数据重新陈述、使用 MERGE 批量更新以及缓慢更改维度的关键功能。有关更多信息,包括配置示例和使用案例,请参阅亚马逊 EMR 支持阿帕奇蜂巢 ACID 交易

更改、增强和已解决的问题

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

  • 神经节已从默认 EMR 6.1.0 软件包中删除。

已知问题

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到 “服务” 部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重新启动实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/bin/bash for user in hadoop spark hive; do sudo tee /etc/security/limits.d/$user.conf << EOF $user - nofile 65536 $user - nproc 65536 EOF done for proc in instancecontroller logpusher; do sudo mkdir -p /etc/systemd/system/$proc.service.d/ sudo tee /etc/systemd/system/$proc.service.d/override.conf << EOF [Service] LimitNOFILE=65536 LimitNPROC=65536 EOF pid=$(pgrep -f aws157.$proc.Main) sudo prlimit --pid $pid --nofile=65535:65535 --nproc=65535:65535 done sudo systemctl daemon-reload
  • 重要

    亚马逊 EMR 6.1.0 和 6.2.0 包含可能严重影响所有 Hudi 插入、插入和删除操作的性能问题。如果您计划将 Hudi 与亚马逊 EMR 6.1.0 或 6.2.0 结合使用,请联系Amazon支持,以获得修补的胡迪 RPM。

  • 如果您将自定义垃圾回收配置设置为spark.driver.extraJavaOptionsspark.executor.extraJavaOptions,这将导致 EMR 6.1 驱动程序/执行程序启动失败,因为垃圾回收配置冲突。使用 EMR 6.1.0 版,您应该为驱动程序和执行程序指定自定义 Spark 垃圾回收配置,具有spark.driver.defaultJavaOptionsspark.executor.defaultJavaOptions相反。阅读更多信息Apache Spark 运行时环境在亚马逊 EMR 6.1.0 上配置火花垃圾回收

  • 在 Oozie 中使用 Pig(以及在 Hue 中,因为 Hue 使用 Oozie 操作来运行 Pig 脚本)会生成一个错误,即无法加载本地 lzo 库。此错误消息是信息性的,不会阻止 Pig 运行。

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

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

  • 亚马逊 EMR 6.1.0 中存在影响运行 Presto 的集群的问题。经过较长的一段时间(天)后,群集可能会抛出错误,例如 “su: 无法执行 /bin/bash:资源暂时不可用” 或 “通道 0 上的 shell 请求失败”。此问题是由内部 Amazon EMR 进程(即时控制器)产生过多的轻量级进程 (LWP) 导致的,这最终导致 Hadoop 用户超出其 nproc 限制。这可以防止用户打开其他进程。此问题的解决方案是升级到 EMR 6.2.0。

发布版本 6.0.0

以下发布说明包括有关亚马逊 EMR 发布版本 6.0 的信息。

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

支持的应用程序

  • Amazon 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用于服务管理,而不是upstart在亚马逊 Linux 中使用过 1.

  • 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。有关更多信息,请参阅了解主节点、核心节点和任务节点

已知问题

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到 “服务” 部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重新启动实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/bin/bash for user in hadoop spark hive; do sudo tee /etc/security/limits.d/$user.conf << EOF $user - nofile 65536 $user - nproc 65536 EOF done for proc in instancecontroller logpusher; do sudo mkdir -p /etc/systemd/system/$proc.service.d/ sudo tee /etc/systemd/system/$proc.service.d/override.conf << EOF [Service] LimitNOFILE=65536 LimitNPROC=65536 EOF pid=$(pgrep -f aws157.$proc.Main) sudo prlimit --pid $pid --nofile=65535:65535 --nproc=65535:65535 done sudo systemctl daemon-reload
  • Spark 交互式 shell(包括 PySpark、SparkR 和 spark-shell)不支持将 Docker 与其他库一起使用。

  • 要将 Python 3 与亚马逊 EMR 版本 6.0.0 一起使用,您必须将PATHyarn.nodemanager.env-whitelist

  • 使用时,不支持 Live Long (LLAP) 功能时使用AmazonGlue 数据目录作为 Hive 元存储。

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

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

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.30.1

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

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

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

更改、增强和已解决的问题

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

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

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

  • 修复了 Jupyter 笔记本电脑问题,导致 Jupyter 服务器出现 “太多文件打开错误”。

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

新功能

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

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

已知问题

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到 “服务” 部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重新启动实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/bin/bash for user in hadoop spark hive; do sudo tee /etc/security/limits.d/$user.conf << EOF $user - nofile 65536 $user - nproc 65536 EOF done for proc in instancecontroller logpusher; do sudo mkdir -p /etc/systemd/system/$proc.service.d/ sudo tee /etc/systemd/system/$proc.service.d/override.conf << EOF [Service] LimitNOFILE=65536 LimitNPROC=65536 EOF pid=$(pgrep -f aws157.$proc.Main) sudo prlimit --pid $pid --nofile=65535:65535 --nproc=65535:65535 done sudo systemctl daemon-reload
  • EMR 笔记本

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

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

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

      elasticmapreduce:ListSteps

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

    2. 使用Amazon CLI以在集群上运行设置 EMR Notebooks 的步骤,如以下示例所示。Replaceus-east-1与集群所在的区域相结合。有关更多信息,请参阅 。使用 向集群添加步骤Amazon 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 作为要安装的应用程序。

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.30.0

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

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

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

Upgrades

  • 已将 Amazon 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

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

新功能

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

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

  • 加密存储在 Amazon S3 中的日志文件— 使用 Amazon EMR 版本 5.30.0 及更高版本,您可以使用Amazon KMS客户托管密钥。有关更多信息,请参阅 。加密存储在 Amazon S3 中的日志文件中的Amazon EMR 管理指南

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

  • 普雷斯托优雅自动秤— 使用 5.30.0 的 EMR 集群可以设置自动扩展超时时段,以便 Presto 任务在其节点停用之前有时间完成运行。有关更多信息,请参阅 使用 Presto 自动扩展和优雅的退役

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

  • 系统停止和系统启动命令— 在 EMR 版本 5.30.0 及更高版本中,EMR 使用 Amazon Linux 2 操作系统,sudo systemctl stopsudo systemctl start命令重新启动服务。有关更多信息,请参阅 。如何在亚马逊 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,则此权限已包含在默认托管策略中。

已知问题

  • 较早的 AL2 上的 “最大打开文件” 限制较低。 亚马逊 EMR 版本:EMR 5.30.x、EMR-5.31.0、EMR-5.32.0、EMR-6.0.0、EMR-6.1.0 和 EMR-6.2.0 基于旧版本的 OFAMZON Linux 2 (AL2),当使用默认 AMI 创建 EMR 集群时,这些版本的下限设置为 “最大打开文件”。提交 Spark 作业时,打开的文件下限会导致 “打开的文件过多” 错误。在受影响的 EMR 版本中,亚马逊 EMR 默认 AMI 对于 “最大打开文件” 的默认限制设置为 4096,低于最新亚马逊 Linux 2 AMI 中的 65536 文件限制。当 Spark 驱动程序和执行程序尝试打开超过 4096 个文件时,“最大打开文件” 的下限设置会导致 Spark 作业失败。要修复此问题,Amazon EMR 有一个引导操作 (BA) 脚本,用于在创建集群时调整 ulimit 设置。亚马逊 EMR 6.3.0 和 5.33.0 版将包括一个具有更高 “最大打开文件” 设置的永久修复程序。

    此问题的以下解决方法允许您显式将实例控制器 ulimit 设置为最多 65536 文件。

    从命令行显式设置 ulimit

    1. 编辑/etc/systemd/system/instance-controller.service将以下参数添加到 “服务” 部分。

      LimitNOFILE=65536

      LimitNPROC=65536

    2. 重新启动实例 Controller

      $ sudo systemctl daemon-reload

      $ sudo systemctl restart instance-controller

    使用引导操作设置 u限制 (BA)

    您还可以使用引导操作 (BA) 脚本在群集创建时将实例控制器 ulimit 配置为 65536 个文件。

    #!/bin/bash for user in hadoop spark hive; do sudo tee /etc/security/limits.d/$user.conf << EOF $user - nofile 65536 $user - nproc 65536 EOF done for proc in instancecontroller logpusher; do sudo mkdir -p /etc/systemd/system/$proc.service.d/ sudo tee /etc/systemd/system/$proc.service.d/override.conf << EOF [Service] LimitNOFILE=65536 LimitNPROC=65536 EOF pid=$(pgrep -f aws157.$proc.Main) sudo prlimit --pid $pid --nofile=65535:65535 --nproc=65535:65535 done sudo systemctl daemon-reload
  • 托管调整

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

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

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

  • Hue 4.6.0 的默认数据库引擎是 SQLite,当您尝试将 Hue 与外部数据库一起使用时,会导致问题。若要解决此问题,请将engine在您的hue-ini配置分类到mysql。此问题已在 Amazon EMR 5.30.1 版中得到修复。

版本 5.29.0

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

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

Upgrades

  • 已将升级到版本 1.11.682

  • 已将 Hive 升级到版本 2.3.6

  • 已将 Flink 升级到版本 1.9.1

  • 已将 EmrFS 升级到版本 2.38.0

  • 已将 EMR DynamoDB 连接器升级到版本 4.13.0

更改、增强和已解决的问题

  • Spark

    • Spark 性能优化。

  • EMRFS

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

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.28.1

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

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

更改、增强和已解决的问题

  • Spark

    • 修复了 Spark 兼容性问题。

  • CloudWatch 指标

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

  • 已禁用日志消息

    • 已禁用假日志消息 “... 使用旧版本的 Apache http 客户端 (<4.5.8)。”

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.28.0

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

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

Upgrades

  • 已将 Flink 升级到版本 1.9.0

  • 已将 Hive 升级到版本 2.3.6

  • 已将 MXNet 升级到版本 1.5.1

  • 已将 Phoenix 升级到版本 4.14.3

  • 已将 Presto 升级到版本 0.227

  • 已将 Zeppelin 升级到版本 0.8.2

新功能

  • Apache Hudi现在可供 Amazon EMR 在您创建集群时进行安装。有关更多信息,请参阅 Hudi

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

  • (2019 年 12 月 3 日)您现 EMR 可以在Amazon Outposts。Amazon Outposts启用本机Amazon服务、基础设施和操作模型。InAmazon Outposts环境中,您可以使用相同的AmazonAPI、工具和基础设施。Amazon云。有关更多信息,请参阅 。上的 EMR 集群Amazon Outposts

  • (2020 年 3 月 11 日)从 Amazon EMR 版本 5.28.0 开始,您可以在AmazonLocal Zones 子网作为Amazon支持本 Local Zones 域。本地区域可启用 Amazon EMR 功能和Amazon服务(如计算和存储服务)位于更近用户的位置,可为本地运行的应用程序提供非常低的延迟访问。有关可用 Local Zones 的列表,请参阅Amazon本地扩展区。有关访问可用Amazon本地扩展区,请参阅区域、可用区和本地区域

    本 Local Zones-™ 目前不支持 Amazon EMR Notebooks,并且不支持使用接口 VPC 终端节点直接连接到 Amazon EMR ( Amazon PrivateLink )。

更改、增强和已解决的问题

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.27.0

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

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

Upgrades

  • Amazon SDK for Java1.11.615

  • Flink 1.8.1

  • JupyterHub 1.0.0

  • Spark 2.4.4

  • 张量流 1.14.0

  • 连接器和驱动器:

    • DynamoDB 连接器 4.12.0

新功能

  • (2019 年 10 月 24 日)所有亚马逊 EMR 版本均提供 EMR 笔记本电脑中的以下新功能。

    • 实例元数据服务 (IMDS) V2 支持状态:亚马逊 EMR 5.23.1、5.27.1 和 5.32 或更高版本的组件对所有 IMDS 呼叫都使用 IMDSv2。对于应用程序代码中的 IMDS 调用,您可以同时使用 IMDSv1 和 IMDSv2,或者将 IMDS 配置为仅使用 IMDSv2 以提高安全性。对于其他 5.x EMR 版本,禁用 IMDSv1 会导致群集启动失败。

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

    • 这些区域有:nbdime 实用工具现在可在 EMR 笔记本电脑中使用,以简化笔记本电脑的比较和合并。Â

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

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

更改、增强和已解决的问题

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.26.0

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

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

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

Upgrades

  • Amazon SDK for Java1.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

新功能

  • (Beta 版) 借助 Amazon EMR 5.26.0,您可以启动与 Lake Formation 成集成的集群。此集成提供对中的数据库和表的精细列级别访问AmazonGlue 数据目录。它还可实现从企业身份系统对 EMR Notebooks 或 Apache Zeppelin 的联合身份单点登录。有关更多信息,请参阅 。集成 Amazon EMR 与Amazon Lake Formation(测试版)

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

更改、增强和已解决的问题

  • EMR 笔记本

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

  • EMRFS

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

  • Spark

    • 以下优化现在默认情况下处于启用状态:动态分区修剪、Interactive 之前的 INTECT、改进 JOIN 的 SQL 计划统计推理,然后是 DISTINCT 查询、展平标量子查询、优化联接重排序和布隆筛选器连接。有关更多信息,请参阅 。优化 Spark 性能

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

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

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

    • 当连接的较小侧包含广播提示时,将不再应用 Bloom 筛选器连接。

  • Tez

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

已知问题

  • 改进的 “排序合并连接” 的整个阶段代码生成功能在启用后会增加内存压力。此优化可提高性能,但如果spark.yarn.executor.memoryOverheadFactor未调整以提供足够的内存。要禁用此功能,请将spark.sql.sortMergeJoinExec.extendedCodegen.enabled设置为 false。

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.25.0

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

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

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

Amazon EMR 5.25.0

Upgrades

  • Amazon SDK for Java1.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 日)从 Amazon EMR 5.25.0 版开始,可以从集群连接到 Spark 历史记录服务器 UI。摘要页面或应用程序历史记录选项卡中。您可快速访问 Spark 历史记录服务器 UI,以查看应用程序指标和访问活动和终止集群的相关日志文件,而不是通过 SSH 连接设置 Web 代理。有关更多信息,请参阅 。对持久性应用程序用户界面的异群访问中的Amazon EMR 管理指南

更改、增强和已解决的问题

  • Spark

    • 通过使用 Bloom 滤镜预过滤输入,提高了某些连接的性能。默认情况下,优化已禁用,可通过设置 Spark 配置参数来启用。spark.sql.bloomFilterJoin.enabledtrue

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

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

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

    • 在交叉优化之前改进了 DISTINCT,以应用于涉及别名的其他情况。

    • 改进了 JOIN 的 SQL 计划统计信息推断,然后是 DISTINT 查询。默认情况下,该改进spark.sql.statsImprovements.enabledtrue。此优化是 “相交前不同” 功能所需的,并且在spark.sql.optimizer.distinctBeforeIntersect.enabled设置为true

    • 基于表格大小和筛选器优化联接顺序。默认情况下,该优化已禁用,可通过设置 Spark 配置参数来启用。spark.sql.optimizer.sizeBasedJoinReorder.enabledtrue

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

  • EMRFS

    • 欧洲金融资源调查系统的设置,fs.s3.buckets.create.enabled,现在默认情况下已禁用。通过测试,我们发现禁用此设置可提高性能并防止意外创建 S3 存储桶。如果您的应用程序依赖于此功能,则可以通过设置fs.s3.buckets.create.enabledtrue中的emrfs-site配置分类。想要了解有关信息,请参阅在创建集群时提供配置

  • 本地磁盘加密和 S3 加密改进

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

    • 添加了一个选项来启用 EBS 加密与版本 5.24.0 及更高版本。选择此选项可加密存储卷之外的根设备卷。要使用自定义 AMI 来加密根设备卷,需要使用自定义 AMI 来加密。

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

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.24.1

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

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

更改、增强和已解决的问题

  • 更新了 EMR 默认亚马逊 Linux AMI,以包含重要的 Linux 内核安全更新,包括 TCP 口袋拒绝服务问题 (AWS-2019-005)。

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.24.0

以下发布说明包括有关亚马逊 EMR 发布版本 5.24.0 的信息。更改是相对于 5.23.0 而言。

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

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

Upgrades

  • 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

  • Amazon SDK for Java1.11.546

  • 连接器和驱动器:

    • DynamoDB 连接器 4.9.0

    • MariaDB 连接器 2.4.1

    • Amazon Redshift JDBC 驱动程序 1.2.27.1051

更改、增强和已解决的问题

  • Spark

    • 添加了动态修剪分区的优化。默认情况下禁用优化。要启用它,请设置 Spark 配置参数spark.sql.dynamicPartitionPruning.enabledtrue

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

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

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

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

  • 本地磁盘加密和 S3 加密改进

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

    • 添加了启用 EBS 加密的选项。选择此选项可加密存储卷之外的根设备卷。要使用自定义 AMI 来加密根设备卷,需要使用自定义 AMI 来加密。

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

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证:hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金的形式为hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.23.0

以下发布说明包括有关亚马逊 EMR 发布版本 5.23.0 的信息。更改是相对于 5.22.0 而言。

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

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

Upgrades

  • Amazon SDK for Java1.11.519

新功能

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

  • 实例元数据服务 (IMDS) V2 支持状态:亚马逊 EMR 5.23.1、5.27.1 和 5.32 或更高版本的组件对所有 IMDS 呼叫都使用 IMDSv2。对于应用程序代码中的 IMDS 调用,您可以同时使用 IMDSv1 和 IMDSv2,或者将 IMDS 配置为仅使用 IMDSv2 以提高安全性。对于其他 5.x EMR 版本,禁用 IMDSv1 会导致群集启动失败。

已知问题

  • 技术用户界面(已在亚马逊 EMR 版本 5.26.0 中修复)

    Tez UI 在具有多个主节点的 EMR 集群上不起作用。

  • 色相(已在亚马逊 EMR 发行版 5.24.0 中修复)

    • 在亚马逊 EMR 上运行的色相不支持 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 Connect 主节点命令行。

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

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

      3. 搜索术语 “应用程序列表” 并将该行修改为以下内容:

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

        sudo stop hue; sudo start hue
  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证:hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.22.0

以下发布说明包括有关亚马逊 EMR 发布版本 5.22.0 的信息。更改是相对于 5.21.0 而言。

重要

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

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

Upgrades

  • 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 集群或将节点添加到现有集群时指定该配置。有关每种实例类型默认分配的存储量和卷数的更多信息,请参阅。实例的默认 EBS 存储中的Amazon EMR 管理指南

更改、增强和已解决的问题

  • Spark

    • 为 YARN 上的 Spark 引入了一个新的配置属性,spark.yarn.executor.memoryOverheadFactor。此属性的值是一个缩放因子,它将内存开销值设置为执行程序内存的百分比,最小为 384 MB。如果内存开销是使用spark.yarn.executor.memoryOverhead,此属性没有效果。默认值是 。0.1875, 占 18.75%. Amazon EMR 的此默认值为 YARN 容器中的执行程序内存开销留出更多空间,而不是 Spark 内部设置的 10% 默认值。在 TPC-DS 基准测试中,亚马逊 EMR 默认值 18.75% 的经验显示出较少的内存相关故障。

    • 反向传输SPARK-26316来提高性能。

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

已知问题

  • 色相(已在亚马逊 EMR 发行版 5.24.0 中修复)

    • 在亚马逊 EMR 上运行的色相不支持 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 Connect 主节点命令行。

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

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

      3. 搜索术语 “应用程序列表” 并将该行修改为以下内容:

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

        sudo stop hue; sudo start hue
  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证:hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常情况下,密钥表文件位于中/etc/hadoop.keytab而本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

发布版本 5.21.1

以下发布说明包括有关亚马逊 EMR 发布版本 5.21.1 的信息。更改是相对于 5.21.0 而言。

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

更改、增强和已解决的问题

  • 更新了 EMR 默认亚马逊 Linux AMI,以包含重要的 Linux 内核安全更新,包括 TCP 口袋拒绝服务问题 (AWS-2019-005)。

已知问题

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证:hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常,密钥表文件位于/etc/hadoop.keytab而本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.21.0

以下发布说明包括有关亚马逊 EMR 发布版本 5.21.0 的信息。更改是相对于 5.20.0 而言。

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

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

Upgrades

  • Flink 1.7.0

  • Presto 0.215

  • Amazon SDK for Java1.11.479

新功能

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

更改、增强和已解决的问题

已知问题

  • 色相(已在亚马逊 EMR 发行版 5.24.0 中修复)

    • 在亚马逊 EMR 上运行的色相不支持 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 Connect 主节点命令行。

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

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

      3. 搜索术语 “应用程序列表” 并将该行修改为以下内容:

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

        sudo stop hue; sudo start hue
  • Tez

    • 此问题已在 Amazon EMR 5.22.0 中修复。

      当您在 http://连接到 Tez 用户界面时万事达域名:8080/tez-ui 通过 SSH 连接到群集主节点,错误 “适配器操作失败-时间轴服务器(ATS)无法触及。显示它已关闭或 CORS 未启用”,或任务意外显示 N/A。

      这是由于 Tez UI 向 YARN 时间轴服务器发出请求所致localhost而不是主节点的主机名。作为一种解决方法,脚本可以作为引导操作或步骤运行。脚本更新 Tez 中的主机名configs.env文件。有关脚本的更多信息和位置,请参阅引导说明

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

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证:hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常,密钥表文件位于/etc/hadoop.keytab而本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.20.0

以下发布说明包括有关亚马逊 EMR 发布版本 5.20.0 的信息。更改是相对于 5.19.0 而言。

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

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

Upgrades

  • 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

  • Amazon SDK for Java1.11.461

新功能

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

更改、增强和已解决的问题

  • 针对亚马逊 EMR 的默认亚马逊 Linux AMI

    • Python 3 软件包已从蟒蛇 3.4 升级到 3.6。

  • 经 EMRFS S3 优化的提交程序

  • Hive

  • Glue 与火花和蜂巢

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

已知问题

  • 色相(已在亚马逊 EMR 发行版 5.24.0 中修复)

    • 在亚马逊 EMR 上运行的色相不支持 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 Connect 主节点命令行。

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

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

      3. 搜索术语 “应用程序列表” 并将该行修改为以下内容:

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

        sudo stop hue; sudo start hue
  • Tez

    • 此问题已在 Amazon EMR 5.22.0 中修复。

      当您在 http://连接到 Tez 用户界面时万事达域名:8080/tez-ui 通过 SSH 连接到群集主节点,错误 “适配器操作失败-时间轴服务器(ATS)无法触及。显示它已关闭或 CORS 未启用”,或任务意外显示 N/A。

      这是由于 Tez UI 向 YARN 时间轴服务器发出请求所致localhost而不是主节点的主机名。作为一种解决方法,脚本可以作为引导操作或步骤运行。脚本更新 Tez 中的主机名configs.env文件。有关脚本的更多信息和位置,请参阅引导说明

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

  • 具有多个主节点和 Kerberos 身份验证的群集中的已知问题

    如果在 EMR 5.20.0 版及更高版本中运行具有多个主节点和 Kerberos 身份验证的群集,则在群集运行一段时间后,您可能会遇到群集操作(如缩小或步骤提交)的问题。时间段取决于您定义的 Kerberos 票证有效期。缩小问题会影响您提交的自动缩小和显式缩小请求。其他群集操作也可能受到影响。

    解决办法:

    • SSH 作为hadoop用户到具有多个主节点的 EMR 集群的主节点。

    • 运行以下命令续订 Kerberos 票证:hadoop用户。

      kinit -kt <keytab_file> <principal>

      通常,密钥表文件位于/etc/hadoop.keytab而本金采用格式hadoop/<hostname>@<REALM>

    注意

    此替代方法将在 Kerberos 票证有效的时间段内生效。默认情况下,此持续时间为 10 小时,但可以通过 Kerberos 设置进行配置。一旦 Kerberos 票证过期,您必须重新运行上述命令。

版本 5.19.0

以下发布说明包括有关亚马逊 EMR 发布版本 5.19.0 的信息。更改是相对于 5.18.0 而言。

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

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

Upgrades

  • 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

  • Amazon SDK for Java1.11.433

新功能

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

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

更改、增强和已解决的问题

  • YARN

  • 针对亚马逊 EMR 的默认亚马逊 Linux AMI

    • ruby18php56, 和gcc48默认情况下,将不再安装。如果需要,可以使用yum

    • 默认情况下,不再安装 aws-java-sdk 红宝石。它可以使用gem install aws-java-sdk(根据需要)。也可以安装特定组件。例如:gem install aws-java-sdk-s3

已知问题

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

  • CloudWatch ContainerPending 指标和自动扩展—(已在 5.20.0 中修复)亚马逊 EMR 可能会发出ContainerPending。如果ContainerPending在自动缩放规则中使用,则自动缩放不会按预期行为。避免使用ContainerPending使用进行自动扩展。

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

版本 5.18.0

以下发布说明包括有关亚马逊 EMR 发布版本 5.18.0 的信息。更改是相对于 5.17.0 而言。

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

Upgrades

  • 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

以下发布说明包括有关亚马逊 EMR 发布版本 5.17.1 的信息。更改是相对于 5.17.0 而言。

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

更改、增强和已解决的问题

  • 更新了 EMR 默认亚马逊 Linux AMI,以包含重要的 Linux 内核安全更新,包括 TCP 口袋拒绝服务问题 (AWS-2019-005)。

版本 5.17.0

以下发布说明包括有关亚马逊 EMR 发布版本 5.17.0 的信息。更改是相对于 5.16.0 而言。

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

Upgrades

  • Flink 1.5.2

  • HBase 1.4.6

  • Presto 0.206

新功能

  • 添加了对张量流的支持。有关更多信息,请参阅 TensorFlow

更改、增强和已解决的问题

已知问题

  • 当您创建安装了 Livy 的字符化群集时,Livy 将失败,并显示未启用简单身份验证的错误。重新启动 Livy 服务器可解决此问题。解决方法是在群集创建过程中添加运行sudo restart livy-server在主节点上。

  • 如果您使用基于亚马逊 Linux AMI 的自定义亚马逊 Linux AMI,创建日期为 2018-08-11,则 Oozie 服务器无法启动。如果您使用 Oozie,请根据具有不同创建日期的亚马逊 Linux AMI ID 创建自定义 AMI。您可以使用以下Amazon CLI命令返回所有具有 2018.03 版本的 HVMAmazon Linux AMI 的映像 ID 列表以及发布日期,以便您可以选择适当的亚马逊 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

以下发布说明包括有关亚马逊 EMR 发布版本 5.16.0 的信息。更改是相对于 5.15.0 而言。

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

Upgrades

  • 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

  • Amazon SDK for Java1.11.336

  • CUDA 9.2

  • Redshift JDBC 驱动程序 1.2.15.1025

更改、增强和已解决的问题

已知问题

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

  • 当您创建安装了 Livy 的字符化群集时,Livy 将失败,并显示未启用简单身份验证的错误。重新启动 Livy 服务器可解决此问题。解决方法是在群集创建过程中添加运行sudo restart livy-server在主节点上。

  • 在主节点重新启动或实例控制器重新启动后,将不会收集 CloudWatch 指标,并且自动扩展功能在 Amazon EMR 5.14.0、5.15.0 或 5.16.0 版中不可用。此问题已在 Amazon EMR 5.17.0 版中修复。

版本 5.15.0

以下发布说明包括有关亚马逊 EMR 发布版本 5.15.0 的信息。更改是相对于 5.14.0 而言。

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

Upgrades

  • 已将 HBase 升级到 1.4.4

  • 已将 Hive 升级到 2.3.3

  • 已将 Hue 升级到 4.2.0

  • 已将 Oozie 升级到 5.0.0

  • 已将升级到 3.4.12

  • 升级Amazon软件开发工具包到 1.11.333

更改、增强和已解决的问题

  • Hive

  • Hue

    • 更新了色相,以便在启用 Kerberos 时使用 Livy 正确进行身份验证。在亚马逊 EMR 中使用 Kerberos 时,现在支持 Livy。

  • JupyterHub

    • 更新了 JupyterHub,以便亚马逊 EMR 默认安装 LDAP 客户端库。

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

已知问题

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

  • 在主节点重新启动或实例控制器重新启动后,将不会收集 CloudWatch 指标,并且自动扩展功能在 Amazon EMR 5.14.0、5.15.0 或 5.16.0 版中不可用。此问题已在 Amazon EMR 5.17.0 版中修复。

版本 5.14.1

以下发布说明包括有关亚马逊 EMR 发布版本 5.14.1 的信息。更改是相对于 5.14.0 而言。

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

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

版本 5.14.0

以下发布说明包括有关亚马逊 EMR 发布版本 5.14.0 的信息。更改是相对于 5.13.0 而言。

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

Upgrades

  • 已将 Apache Flink 升级到 1.4.2

  • 已将 Apache MXNet 升级到 1.1.0

  • 已将 Apache Sqoop 升级到 1.4.7

新功能

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

更改、增强和已解决的问题

  • EMRFS

    • 对 Amazon S3 的请求中的 UserAgent 字符串进行了更新,以包含调用委托人的用户和组信息。这可以与Amazon CloudTrail日志以获取更全面的请求跟踪。

  • HBase

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

  • MXNet

    • 添加了 OpenCV 库。

  • Spark

    • 当 Spark 使用 EMRFS 将镶木地板文件写入 Amazon S3 位置时,FileOutputCommitter 算法已更新为使用版本 2 而不是版本 1。这将减少重命名的次数,从而提高应用程序的性能。此更改不会影响:

      • 除火花以外的应用。

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

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

已知问题

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

      您可以tailjupyter.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
  • 在主节点重新启动或实例控制器重新启动后,将不会收集 CloudWatch 指标,并且自动扩展功能在 Amazon EMR 5.14.0、5.15.0 或 5.16.0 版中不可用。此问题已在 Amazon EMR 5.17.0 版中修复。

版本 5.13.0

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

Upgrades

  • 已将 Spark 升级到 2.3.0

  • 已将 HBase 升级到 1.4.2

  • 已将 Presto 升级到 0.194

  • 升级至 1.11.297

更改、增强和已解决的问题

  • Hive

    • 反向传输HIVE-。增强的 Hive API 仅返回视图。

已知问题

  • MXNet 目前没有 OpenCV 库。

版本 5.12.2

以下发布说明包括有关亚马逊 EMR 发布版本 5.12.2 的信息。所述更改是相对于 5.12.1 而言的。

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

更改、增强和已解决的问题

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

版本 5.12.1

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

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

更改、增强和已解决的问题

  • 更新了亚马逊 EMR 默认亚马逊 Linux AMI 的亚马逊 Linux 内核,以解决潜在的漏洞。

版本 5.12.0

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

Upgrades

更改、增强和已解决的问题

  • Hadoop

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

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

  • Pig

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

  • Presto

    • 已将添加到presto-connector-redshift配置分类,您可以将其用于配置 Presto 中的值。redshift.properties配置文件。有关更多信息,请参阅 。Redshift 连接器在普雷斯托文档中,以及配置应用程序

    • 已添加对 EMRFS 的 Presto 支持,并且是默认配置。早期的亚马逊 EMR 版本使用 Prestos3 文件系统,这是唯一的选择。有关更多信息,请参阅 EMRFS 和 PrestoS3FileSystem 配置

      注意

      使用亚马逊 EMR 5.12.0 版查询 Amazon S3 中的基础数据时,配置问题可能会导致 Presto 错误。这是因为 Presto 无法从emrfs-site.xml。作为解决方法,创建emrfsSubdirectoryusr/lib/presto/plugin/hive-hadoop2/,创建一个符号链接usr/lib/presto/plugin/hive-hadoop2/emrfs添加到现有/usr/share/aws/emr/emrfs/conf/emrfs-site.xml文件,然后重新启动预存服务器进程(sudo presto-server stop其次是sudo presto-server start)。

  • Spark

已知问题

  • MXNet 不包含 OpenCV 库。

  • SparkR 不适用于使用自定义 AMI 创建的群集,因为默认情况下不会在群集节点上安装 R。

发布版本 5.11.3

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

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

更改、增强和已解决的问题

  • 更新了 EMR 默认亚马逊 Linux AMI,以包含重要的 Linux 内核安全更新,包括 TCP 口袋拒绝服务问题 (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

  • SDK for 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) 管道。有关更多信息,请参阅 。SageMaker Spark 自述文件(位于 GitHub 上)和将 Apache Spark 与 Amazon SageMaker 结合使用中的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 torage Service 5.9.0 版本相关。

Upgrades

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

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

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

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

  • 因为 Amazon EC2 中引入了按秒计费,默认的缩减行为现在是在任务完成时终止而不是终止实例小时。有关更多信息,请参阅 。配置群集缩小

已知问题

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

发布日期:2017 年 10 月 5 日

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

Upgrades

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

  • Amazon 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 为数据块传输服务提供的在途加密,可在使用带 AES-NI 的 Amazon EC2 实例类型时增强性能。

    • 已逆向移植 SPARK-21494

  • Zeppelin

  • HBase

    • 添加了补丁 HBASE-18533,因此可以使用 hbase-site 配置分类为 HBase BucketCache 配置使用其他值。

  • Hue

    • 添加了AmazonHGlue 中 Hive 查询编辑器的粘合数据目录支持。

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

  • 解决了导致使用Amazon无法访问 Glue 数据目录。

已知问题

  • 当安装了所有应用程序且未更改默认 Amazon EBS 根卷大小时,群集启动会失败。作为解决方法,请从 Amazon 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

以下发布说明包括有关亚马逊 EMR 发布版本 5.8.2 的信息。更改是相对于 5.8.1 而言。

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

更改、增强和已解决的问题

  • 更新了亚马逊 EMR 默认亚马逊 Linux AMI 的亚马逊 Linux 内核,以解决潜在的漏洞。

版本 5.8.1

以下发布说明包括有关 Amazon EMR 版本 5.8.1 版本的信息。更改与 Amazon EMR torage Service 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

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

  • AmazonSDK 1.11.160

  • Flink 1.3.1

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

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

新功能

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

更改、增强和已解决的问题

  • 与 集成AmazonGlue 数据目录

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

  • Oozie

  • Hue

  • HBase

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

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

已知问题

  • 当安装了所有应用程序且未更改默认 Amazon EBS 根卷大小时,群集启动会失败。作为解决方法,请从 Amazon 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。这将停止应用程序,Amazon EMR 将自动重新启动该守护程序。

  • 应用程序历史记录

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

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

版本 5.7.0

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

发布日期:2017 年 7 月 13 日

Upgrades

  • Flink 1.3.0

  • Phoenix 4.11.0

  • Zeppelin 0.7.2

新功能

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

更改、增强和已解决的问题

  • 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

以下发布说明包括有关亚马逊 EMR 发布版本 5.5.3 的信息。更改是相对于 5.5.2 而言。

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

更改、增强和已解决的问题

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

版本 5.5.2

以下发布说明包括有关亚马逊 EMR 发布版本 5.5.2 的信息。更改是相对于 5.5.1 而言。

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

更改、增强和已解决的问题

  • 更新了亚马逊 EMR 默认亚马逊 Linux AMI 的亚马逊 Linux 内核,以解决潜在的漏洞。

版本 5.5.1

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

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

更改、增强和已解决的问题

版本 5.5.0

以下发布说明包括有关亚马逊 EMR 5.5.0 版本的信息。更改与 Amazon EMR torage Service 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) 共享文本 http客户端在Fllink 1.2 中不再遮蔽的问题

  • Presto

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

    • 增加了对 SHOW GRANTS 的支持。

  • Amazon EMR Base Linux AMI

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

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

版本 5.4.0

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

发布日期:2017 年 3 月 8 日

Upgrades

此版本提供以下升级:

  • 已升级到 Flink 1.2.0

  • 已升级到 Hbase 1.3.0

  • 已升级到 Phoenix 4.9.0

    注意

    如果您从早期版本的 Amazon EMR 升级到 Amazon EMR 5.4.0 或更高版本并使用二级索引,请升级本地索引,如Apache Phoenix 文档。亚马逊 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 的版本进行的更改:

版本 5.3.1

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

发布日期:2017 年 2 月 7 日

对后端齐柏林修补程序进行细微更改,并更新 Amazon EMR 的默认 AMI。

版本 5.3.0

以下发布说明包括有关亚马逊 EMR 5.3.0 版本的信息。更改与 Amazon EMR torage Service 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 的版本进行的更改:

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

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

版本 5.2.2

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

发布日期:2017 年 5 月 2 日

以前版本中已解决的已知问题

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

版本 5.2.1

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

发布日期:2016 年 12 月 29 日

Upgrades

此版本提供以下升级:

  • 已升级到 Presto 0.157.1。有关更多信息,请参阅 。Presto 发行说明在普雷斯托文档中。

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

更改和增强功能

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

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

  • Amazon EMR 版本现在基于 2016.09。有关更多信息,请参阅 http://www.amazonaws.cn/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

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

发布日期:2016 年 11 月 21 日

更改和增强功能

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

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

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

Upgrades

此版本提供以下升级:

  • 已升级到 Spark 2.0.2

以前版本中已解决的已知问题

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

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

版本 5.1.0

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

发布日期:2016 年 11 月 03 日

更改和增强功能

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

  • 增加了对 Flink 1.1.3 的支持。

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

Upgrades

此版本提供以下升级:

  • 已升级到 HBase 1.2.3

  • 已升级到 Zeppelin 0.6.2

以前版本中已解决的已知问题

  • 修复了在 Amazon S3 上使用 ORC 文件的 Tez 查询以及早期 Amazon EMR 4.x 版本未执行的问题。

版本 5.0.3

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

发布日期:2016 年 10 月 24 日

Upgrades

此版本提供以下升级:

  • 已升级到 Hadoop 2.7.3

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

  • 已升级到 Spark 2.0.1

  • Amazon EMR 版本现在基于 2016.09。有关更多信息,请参阅 http://www.amazonaws.cn/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

更改和增强功能

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

  • Amazon EMR 支持最新开源版本的 Hive(2.1 版)和 Pig(0.16.0 版)。如果您以前使用过 Hive 或 Pig 在 Amazon EMR 上,这可能会影响某些使用案例。有关更多信息,请参阅 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.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

以下发布说明包括有关亚马逊 EMR 发布版本 4.9.5 的信息。更改是相对于 4.9.4 而言。

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

更改、增强和已解决的问题

  • HBase

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

版本 4.9.4

以下发布说明包括有关亚马逊 EMR 发布版本 4.9.4 的信息。更改是相对于 4.9.3 而言。

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

更改、增强和已解决的问题

  • 更新了亚马逊 EMR 默认亚马逊 Linux AMI 的亚马逊 Linux 内核,以解决潜在的漏洞。

版本 4.9.3

以下发布说明包括有关亚马逊 EMR 4.9.3 版本的信息。更改与 Amazon Storage Service 版本相关。

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

更改、增强和已解决的问题

版本 4.9.2

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

发布日期:2017 年 7 月 13 日

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

版本 4.9.1

以下发布说明包括有关亚马逊 EMR 4.9.1 版本的信息。更改与 Amazon Storage Service 版本相关。

发布日期:2017 年 4 月 10 日

以前版本中已解决的已知问题

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

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

更改和增强功能

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

版本 4.8.4

以下发布说明包括有关亚马逊 EMR 4.8.4 版本的信息。更改与 Amazon Storage Service 版本相关。

发布日期:2017 年 2 月 7 日

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

版本 4.8.3

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

发布日期:2016 年 12 月 29 日

Upgrades

此版本提供以下升级:

  • 已升级到 Presto 0.157.1。有关更多信息,请参阅 。Presto 发行说明在普雷斯托文档中。

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

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

更改和增强功能

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

以前版本中已解决的已知问题

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

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

版本 4.8.2

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

发布日期:2016 年 10 月 24 日

Upgrades

此版本提供以下升级:

  • 已升级到 Hadoop 2.7.3

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

  • Amazon EMR 版本现在基于 2016.09。有关更多信息,请参阅 http://www.amazonaws.cn/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 的版本进行的更改:

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

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

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

  • 反向传输的修补程序:HIVE-8948HIVE-12679HIVE-13405鳳凰城的 X-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 现在允许用户使用fs.s3.consistent.dynamodb.endpoint中的属性emrfs-site.xml

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

  • 已将 Amazon 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 驱动程序。有关更多信息,请参阅 。配置 JDBC 连接中的Amazon Redshift 集群管理指南

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 日

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

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 日

Features

此版本提供以下功能:

  • 已升级到 Spark 1.6.1

  • 已升级到 Hadoop 2.7.2

  • 已升级到 Presto 0.140

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

以前版本中已解决的已知问题

  • 修复了重启节点后无法启动 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 的值。与往常一样,您可 Amazon S3 使用log-uri参数时,创建集群。

已应用的修补

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

版本 4.3.0

发布日期:2016 年 1 月 19 日

Features

此版本提供以下功能:

  • 已升级到 Hadoop 2.7.1

  • 已升级到 Spark 1.6.0

  • 已将 Ganglia 升级到 3.7.2

  • 已将 Presto 升级到 0.130

亚马逊 EMR 对spark.dynamicAllocation.enabled设置为 true;默认情况下,此项为 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

  • 已将 Amazon SDK for Java 升级到 1.10.27

以前版本中已解决的已知问题

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

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

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

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

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

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

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