Amazon EMR 集群要求 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon EMR 集群要求

在亚马逊上运行的亚马逊 EMR 集群 EC2

您为 EMR Studio 工作区创建的所有 EC2 在亚马逊上运行的 Amazon EMR 集群都必须满足以下要求。您使用 EMR Studio 界面创建的集群会自动满足这些要求。

  • 集群必须使用 Amazon EMR 5.32.0(Amazon EMR 5.x 系列)或 6.2.0(Amazon EMR 6.x 系列)及更高版本。您可以使用 Amazon EMR 控制台或软件开发工具包创建集群 Amazon Command Line Interface,然后将其连接到 EMR Studio 工作区。Studio 用户也可以在创建 Amazon EMR Workspace 或在其中工作时预置和附加集群。有关更多信息,请参阅 将计算资源附加到 EMR Studio Workspace

  • 集群必须在 Amazon Virtual Private Cloud 中启动。不支持 EC2-Classic 平台。

  • 集群必须安装有 Spark、Livy 和 Jupyter Enterprise Gateway。如果您计划将集群用于 SQL Explorer,则应同时安装 Presto 和 Spark。

  • 要使用 SQL Explorer,集群必须使用 Amazon EMR 版本 5.34.0 或更高版本或者 6.4.0 或更高版本并安装了 Presto。如果要将 Glue 数据 Amazon 目录指定为 Presto 的 Hive 元数据库,则必须在集群上对其进行配置。有关更多信息,请参阅将 Presto 与 Amazon Glue 数据目录结合使用

  • 集群必须在网络地址转换 (NAT) 的私有子网中启动,公共托管的 Git 存储库与 EMR Studio 才能配合使用。

当您使用 EMR Studio 时,我们建议使用以下集群配置。

  • 将 Spark 会话的部署模式设置为集群模式。集群模式将应用程序主进程放置在核心节点上,而不是集群的主节点上。这样做可以减轻主节点的潜在内存压力。有关更多信息,请参阅 Apache Spark 文档中的集群模式概述

  • 如下面的示例配置所示,将 Livy 超时从默认的 1 小时更改为 6 小时。

    { "classification":"livy-conf", "Properties":{ "livy.server.session.timeout":"6h", "livy.spark.deploy-mode":"cluster" } }
  • 创建包含多达 30 个实例的多样化实例队列,并在竞价型实例队列中选择多种实例类型。例如,您可以为 Spark 工作负载指定以下内存优化的实例类型:r5.2x、r5.4x、r5.8x、r5.12x、r5.16x、r4.2x、r4.4x、r4.8x、r4.12 等。有关更多信息,请参阅 规划和配置 Amazon EMR 集群的实例集

  • 使用竞价型实例的容量优化分配策略,帮助 Amazon EMR 根据亚马逊提供的实时容量见解做出有效的实例选择。 EC2有关更多信息,请参阅 实例集的分配策略

  • 在集群上启用托管式扩缩。将最大核心节点参数设置为您计划使用的最小持久性容量,并在竞价型实例上运行的充分多样化的任务队列上配置扩缩以节省成本。有关更多信息,请参阅 在 Amazon EMR 中使用托管扩展

我们还会敦促您始终启用 Amazon EMR Block Public Access(阻止公开访问),同时限制入站 SSH 流量进入可信来源。对集群的入站访问允许用户在集群上运行 Notebook。有关更多信息,请参阅使用 Amazon EMR 阻止公有访问使用 Amazon EMR 集群的安全组控制网络流量

Amazon EMR on EKS 集群

除了在亚马逊上运行的 EMR 集群外 EC2,您还可以使用在 EMR Studio 的 EKS 集群上设置和管理 Amazon EMR。 Amazon CLI使用以下准则设置 Amazon EMR on EKS 集群:

  • 针对 Amazon EMR on EKS 集群创建托管式 HTTPS 终端节点。用户将 Workspace 附加到托管式终端节点。您用于注册虚拟集群的 Amazon Elastic Kubernetes Service (EKS) 集群必须具有私有子网才能启用托管式终端节点。

  • 如果您想使用公共托管的 Git 存储库,请使用具有至少一个私有子网和网络地址转换 (NAT) 的 Amazon EKS 集群。

  • 避免使用亚马逊 EKS 优化的 Arm Amazon Linux AMIs,EKS 托管终端节点上不支持亚马逊 EMR。

  • 避免使用 Amazon Fargate仅限使用不支持的 Amazon EKS 集群。