本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 VPC 中启动集群
在具有一个配置为托管 Amazon EMR 集群的子网后,通过在创建集群时指定关联的子网标识符来在该子网中启动集群。
Amazon EMR 支持版本 4.2 及更高版本中的私有子网。
启动集群时,Amazon EMR 基于集群是在 VPC 私有子网还是公有子网中启动来添加安全组。所有安全组都允许端口 8443 的入口与 Amazon EMR 服务进行通信,但 IP 地址范围因公有子网和私有子网而异。Amazon EMR 管理这些所有安全组,而且随着时间的推移,可能需要向 AWS 范围添加其它 IP 地址。有关更多信息,请参阅使用安全组控制网络流量:
为了管理 VPC 上的集群,Amazon EMR 为主节点附加了一个网络设备,并通过该设备对主节点进行管理。您可以使用 Amazon EC2 API 操作 DescribeInstances
查看此设备。如果您以任何方式修改此设备,则集群可能会失败。
我们重新设计了 Amazon EMR 控制台,以便其易于使用。请参阅 控制台中的新增功能,以了解有关新旧控制台体验差异的信息。
- New console
-
使用新控制台在 VPC 中启动集群
-
登录AWS Management Console,然后打开亚马逊 EMR 控制台https://console.aws.amazon.com/emr。
-
在左侧导航窗格中的 EMR on EC2 下,选择 Clusters(集群),然后选择 Create cluster(创建集群)。
-
在 Networking(联网)下,转到 Virtual private cloud (VPC) [虚拟私有云(VPC)] 字段。输入 VPC 名称或选择 Browse(浏览)以选择 VPC。或者,选择 Create VPC(创建 VPC)以创建可用于集群的 VPC。
-
选择适用于集群的任何其他选项。
-
要启动集群,选择 Create cluster(创建集群)。
- Old console
-
使用旧控制台在 VPC 中启动集群
导航到新的亚马逊 EMR 控制台并选择切换到旧的主机从侧面导航。有关切换到旧主机后预期情况的更多信息,请参阅使用旧的主机。
-
选择创建集群。
-
选择 Go to advanced options (转到高级选项)。
-
在 Hardware Configuration (硬件配置) 部分,对于 Network (网络),选择您之前创建的 VPC 网络的 ID。
-
对于 EC2 Subnet (EC2 子网),选择您之前创建的子网的 ID。
-
如果使用 NAT 实例和 S3 终端节点选项正确地配置您的私有子网,将在子网名称和标识符上方显示 (EMR Ready)。
-
如果您的私有子网没有 NAT 实例和/或 S3 终端节点,则可通过选择 Add S3 endpoint and NAT instance (添加 S3 终端节点和 NAT 实例)、Add S3 endpoint (添加 S3 终端节点) 或 Add NAT instance (添加 NAT 实例) 进行配置。为您的 NAT 实例和 S3 终端节点选择所需的选项,然后选择 Configure (配置)。
要从亚马逊 EMR 创建 NAT 实例,你需要 ec2:CreateRoute,ec2:RevokeSecurityGroupEgress
,ec2:AuthorizeSecurityGroupEgress
,cloudformation:DescribeStackEvents
和cloudformation:CreateStack
权限。
为您的 NAT 设备启动 Amazon EC2 实例会产生额外费用。
-
继续创建集群。
- AWS CLI
-
使用 AWS CLI 在 VPC 中启动集群
AWS CLI 未提供自动创建 NAT 实例并将该实例连接到私有子网的方法。但是,要在子网中创建 S3 端点,您可以使用 Amazon VPC CLI 命令。使用控制台可在私有子网中创建 NAT 实例和启动集群。
配置 VPC 之后,可以使用带 create-cluster
参数的 --ec2-attributes
子命令在 VPC 中启动 Amazon EMR 集群。使用 --ec2-attributes
参数可为集群指定 VPC 子网。
-
要在特定子网中创建集群,请键入以下命令,将 myKey
替换为您的 Amazon EC2 密钥对的名称,并将 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-roles
创建它们,然后再键入 create-cluster
子命令。