在 Amazon EMR 使用默认的 Amazon Linux AMI - Amazon EMR

在 Amazon EMR 使用默认的 Amazon Linux AMI

除非您指定自定义 AMI,否则每个 Amazon EMR 发行版都会在 Amazon EMR 使用默认的 Amazon Linux AMI。从 Amazon EMR 5.36.0 及更高版本和 Amazon EMR 6.6.0 及更高版本开始,在 Amazon EMR 默认 AMI 中更新 Amazon Linux 2(AL2)的默认行为不同。

Amazon EMR 5.36.0 及更高版本、6.6.0 及更高版本 – 自动 Amazon Linux 更新

当您使用 Amazon EMR 5.36.0 及更高版本或 Amazon EMR 6.6.0 及更高版本启动集群时,它会自动使用已针对默认 Amazon EMR AMI 验证的最新 Amazon Linux 2 发行版。这是 Amazon EMR 版本 5.36.0 及更高版本,以及 Amazon EMR 版本 6.6.0 及更高版本的默认行为。有关特定发行版,请参阅《Amazon EMR 版本指南》中的 Amazon EMR 5.x 发行版Amazon EMR 6.x 发行版。您可以选择使用 Amazon EMR 版本 5.36.0 及更高版本以及 6.6.0 及更高版本最初提供的原始 Amazon Linux 版本启动集群。有关为您的集群指定 Amazon Linux 版本的信息,请参阅 更改用于启动集群的 Amazon Linux 发行版

下表列出了有关 Amazon EMR 6.6.0 的 Amazon Linux 信息。

OsReleaseLabel(Amazon Linux 版本) Amazon Linux 内核版本 可用日期 支持的区域
2.0.20220406.1 4.14.275 2022/5/2 us‑east‑1, us‑east‑2, us‑west‑1, us‑west‑2, eu‑north‑1, eu‑west‑1, eu‑west‑2, eu‑west‑3, eu‑central‑1, eu‑south‑1, ap‑east‑1, ap‑south‑1, ap‑southeast‑3, ap‑northeast‑1, ap‑northeast‑2, ap‑northeast‑3, ap‑southeast‑1, ap‑southeast‑2, af‑south‑1, sa‑east‑1, me‑south‑1, ca‑central‑1
2.0.20220426.0 4.14.281 2022/6/10 us‑east‑1, us‑east‑2, us‑west‑1, us‑west‑2, eu‑north‑1, eu‑west‑1, eu‑west‑2, eu‑west‑3, eu‑central‑1, eu‑south‑1, ap‑east‑1, ap‑south‑1, ap‑southeast‑3, ap‑northeast‑1, ap‑northeast‑2, ap‑northeast‑3, ap‑southeast‑1, ap‑southeast‑2, af‑south‑1, sa‑east‑1, me‑south‑1, ca‑central‑1
2.0.20220719.0 4.14.287 2022/8/10 us‑east‑1, us‑east‑2, us‑west‑1, us‑west‑2, eu‑north‑1, eu‑west‑1, eu‑west‑2, eu‑west‑3, eu‑central‑1, eu‑south‑1, ap‑east‑1, ap‑south‑1, ap‑southeast‑3, ap‑northeast‑1, ap‑northeast‑2, ap‑northeast‑3, ap‑southeast‑1, ap‑southeast‑2, af‑south‑1, sa‑east‑1, me‑south‑1, ca‑central‑1
2.0.20220805.0 4.14.287 2022/8/30 us‑west‑1
2.0.20220912.1 4.14.291 2022/10/7 us‑east‑1, us‑east‑2, us‑west‑1, us‑west‑2, eu‑north‑1, eu‑west‑1, eu‑west‑2, eu‑west‑3, eu‑central‑1, eu‑south‑1, ap‑east‑1, ap‑south‑1, ap‑southeast‑3, ap‑northeast‑1, ap‑northeast‑2, ap‑northeast‑3, ap‑southeast‑1, ap‑southeast‑2, af‑south‑1, sa‑east‑1, me‑south‑1, ca‑central‑1

下表列出了有关 Amazon EMR 5.36.0 的 Amazon Linux 信息。

OsReleaseLabel(Amazon Linux 版本) Amazon Linux 内核版本 可用日期 支持的区域
2.0.20220426.0 4.14.281 2022/6/14 us‑east‑1, us‑east‑2, us‑west‑1, us‑west‑2, eu‑north‑1, eu‑west‑1, eu‑west‑2, eu‑west‑3, eu‑central‑1, eu‑south‑1, ap‑east‑1, ap‑south‑1, ap‑southeast‑3, ap‑northeast‑1, ap‑northeast‑2, ap‑northeast‑3, ap‑southeast‑1, ap‑southeast‑2, af‑south‑1, sa‑east‑1, me‑south‑1, ca‑central‑1
2.0.20220719.0 4.14.287 2022/8/10 us‑west‑1, eu‑west‑3, eu‑north‑1, eu‑central‑1, ap‑south‑1, me‑south‑1
2.0.20220912.1 4.14.291 2022/10/7 us‑east‑1, us‑east‑2, us‑west‑1, us‑west‑2, eu‑north‑1, eu‑west‑1, eu‑west‑2, eu‑west‑3, eu‑central‑1, eu‑south‑1, ap‑east‑1, ap‑south‑1, ap‑southeast‑3, ap‑northeast‑1, ap‑northeast‑2, ap‑northeast‑3, ap‑southeast‑1, ap‑southeast‑2, af‑south‑1, sa‑east‑1, me‑south‑1, ca‑central‑1

Amazon EMR 5.35.0 及更早版本,以及 6.5.0 及更早版本 – Amazon Linux AMI“已锁定”为 Amazon EMR 发行版

对于 Amazon EMR 5.35.0 及更早版本以及 6.5.0 及更早版本,默认 AMI 基于发行 Amazon EMR 时最新的可用 Amazon Linux AMI。AMI 已使用大数据应用程序和该版本中附带的 Amazon EMR 功能针对兼容性进行测试。

每个 Amazon EMR 5.35.0 及更早版本、6.5.0 及更早的 Amazon EMR 发行版均“已锁定”为分配的 Amazon Linux AMI 版本,以保持兼容性。这意味着,即使有更新版本的 Amazon Linux AMI 可用,系统也会为更早的 Amazon EMR 发行版使用较早的 Amazon Linux AMI 版本。因此,我们建议您使用最新的 Amazon EMR 发行版,除非您需要使用早期版本以确保兼容性且无法迁移。如果您必须使用早期版本的 Amazon EMR 来确保兼容性,我们建议您使用系列中的最新版本。例如,如果您必须使用 5.12 系列,请使用 5.12.2,而不是 5.12.0 或 5.12.1。如果系列中有新版本可用,请考虑将您的应用程序迁移到新版本。

管理软件更新

以下是需要注意的默认软件更新行为:

  • 默认引导行为不包括内核更新。当基于 Amazon EMR 默认 Amazon Linux AMI 的集群中的 Amazon EC2 实例首次启动时,它会检查 Amazon Linux 的已启用的软件包存储库以及适用于 AMI 版本的软件更新的 Amazon EMR。与其它 Amazon EC2 实例一样,这些存储库中的关键和重要安全更新会自动安装。但是,如果您使用旧版本的 Amazon Linux AMI,则可能无法自动安装最新的安全更新。这是因为 EMR 引用的存储库对于每个版本的 Amazon Linux AMI 都是固定的。同样,请注意,您的网络配置必须允许 HTTP 和 HTTPS 传出到 Amazon S3 中的 Amazon Linux 存储库,否则安全更新将失败。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的程序包存储库。默认情况下,需要重新启动的其它软件包和内核更新(包括 NVIDIA 和 CUDA)将在首次启动时从自动下载中被排除。

    重要

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

  • 集群启动时有无更新。请注意,如果由于在集群首次启动时无法访问软件包存储库而导致无法安装软件更新,则集群实例仍会完成启动。例如,存储库可能由于 S3 暂时不可用而无法访问,或者您可能将 VPC 或防火墙规则配置为了阻止访问。

  • 请勿运行 sudo yum update。当您使用 SSH 连接到集群实例时,屏幕输出的前几行会提供一个链接,该链接指向实例使用的 Amazon Linux AMI 的发布说明、最新 Amazon Linux AMI 版本的通知、可供已启用存储库中的更新使用的软件包数量的通知,以及可用于运行 sudo yum update 的指令。

重要

我们强烈建议您不要在使用 SSH 或使用引导操作连接的同时,在集群实例上运行 sudo yum update。这可能会导致不兼容,因为所有软件包都是不加区分地安装的。

管理软件更新的最佳实践

  • 如果您使用早期版本的 Amazon EMR,请考虑对迁移到最新版本进行测试,然后再更新软件包。

  • 如果您迁移到更新的发行版或升级软件包,请首先在非生产环境中测试实施。使用 Amazon EMR 控制台克隆集群的选项对此大有帮助。

  • 逐个为您的应用程序和 Amazon Linux AMI 版本评估软件更新。仅在生产环境中测试和安装程序包,该生产环境是您确定安全状况、应用程序功能或性能时绝对需要的。

  • 请访问 Amazon Linux 安全中心,获取更新。

  • 避免通过使用 SSH 连接到单个集群实例来安装软件包。相反,根据需要使用引导操作来安装和更新所有集群实例上的软件包。这要求您终止并重新启动集群。有关更多信息,请参阅创建引导操作以安装其它软件