VPC使用 Amazon 将集群启动到 EMR - Amazon EMR

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

VPC使用 Amazon 将集群启动到 EMR

将子网配置为托管 Amazon EMR 集群后,请在创建集群时指定关联的子网标识符,在该子网中启动集群。

注意

Amazon 在 4.2 及更高版本中EMR支持私有子网。

启动集群时,Amazon EMR 会根据集群启动到VPC私有子网还是公有子网来添加安全组。所有安全组都允许端口 8443 的入口与 Amazon EMR 服务通信,但是公有子网和私有子网的 IP 地址范围会有所不同。Amazon EMR 管理所有这些安全组,随着时间的推移,可能需要向该 AWS 安全组添加额外的 IP 地址。有关更多信息,请参阅 使用安全组控制您的 Amazon EMR 集群的网络流量

为了管理上的集群VPC,Amazon 将一台网络设备EMR连接到主节点,并通过该设备对其进行管理。您可以使用 Amazon EC2 API 操作查看此设备DescribeInstances。如果您以任何方式修改此设备,则集群可能会失败。

Console
使用控制台将集VPC群启动到
  1. 登录 AWS Management Console,然后通过 https://console.aws.amazon.com/em r 打开亚马逊EMR控制台。

  2. EC2在左侧导航窗格的开下EMR,选择集群,然后选择创建集群

  3. 在 “网络” 下,转到 “虚拟私有云” (VPC) 字段。输入您的姓名VPC或选择 “浏览” 以选择您的VPC。或者,选择 Create VPC VPC 来创建可用于您的集群的。

  4. 选择适用于集群的任何其他选项。

  5. 要启动集群,选择 Create cluster(创建集群)。

AWS CLI
要将集群启动到中,请VPC使用 AWS CLI
注意

AWS CLI 不提供自动创建NAT实例并将其连接到私有子网的方法。但是,要在子网中创建 S3 终端节点,您可以使用 Amazon VPC CLI 命令。使用控制台在私有子网中创建NAT实例和启动集群。

配置VPC完成后,您可以使用带--ec2-attributes参数的create-cluster子命令在其中启动 Amazon EMR 集群。使用--ec2-attributes参数为您的集群指定VPC子网。

  • 要在特定子网中创建集群,请键入以下命令,myKey替换为您的 Amazon EC2 key pair 的名称,然后77XXXX03替换为您的子网 ID。

    aws emr create-cluster --name "Test cluster" --release-label emr-4.2.0 --applications Name=Hadoop Name=Hive Name=Pig --use-default-roles --ec2-attributes KeyName=myKey,SubnetId=subnet-77XXXX03 --instance-type m5.xlarge --instance-count 3

    如果不使用 --instance-groups 参数指定实例计数,则将启动单个主节点,其余实例将作为核心节点启动。所有节点都使用该命令中指定的实例类型。

    注意

    如果您之前没有创建默认的 Amazon EMR 服务角色和EC2实例配置文件,请在键aws emr create-default-rolescreate-cluster子命令之前键入创建它们。

确保上EMR集群的可用的 IP 地址 EC2

为确保启动时子网有足够的空闲 IP 地址可用,EC2子网选择会检查 IP 可用性。它创建过程使用具有必要 IP 地址数量的子网来根据需要启动核心、主节点和任务节点,即使在初始创建时只为集群创建核心节点。 EMR检查创建期间启动主节点和任务节点所需的 IP 地址数量,并分别计算启动核心节点所需的 IP 地址数量。所需的主实例和任务实例或节点的最小数量由 Amazon 自动确定EMR。

重要

如果中没有子网VPC有足够的可用空间IPs来容纳基本节点,则会返回错误并且不会创建集群。

在大多数部署情况下,每次启动核心节点、主节点和任务节点之间都会有时间差。此外,多个集群可以共享一个子网。在这些情况下,IP 地址的可用性可能会发生波动,例如,后续任务节点的启动可能会受到可用 IP 地址的限制。