本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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群启动到
-
登录 AWS Management Console,然后通过 https://console.aws.amazon.com/em r 打开亚马逊EMR控制台。
-
EC2在左侧导航窗格的开下EMR,选择集群,然后选择创建集群。
-
在 “网络” 下,转到 “虚拟私有云” (VPC) 字段。输入您的姓名VPC或选择 “浏览” 以选择您的VPC。或者,选择 Create VPC VPC 来创建可用于您的集群的。
-
选择适用于集群的任何其他选项。
-
要启动集群,选择 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-roles
入create-cluster
子命令之前键入创建它们。
确保上EMR集群的可用的 IP 地址 EC2
为确保启动时子网有足够的空闲 IP 地址可用,EC2子网选择会检查 IP 可用性。它创建过程使用具有必要 IP 地址数量的子网来根据需要启动核心、主节点和任务节点,即使在初始创建时只为集群创建核心节点。 EMR检查创建期间启动主节点和任务节点所需的 IP 地址数量,并分别计算启动核心节点所需的 IP 地址数量。所需的主实例和任务实例或节点的最小数量由 Amazon 自动确定EMR。
如果中没有子网VPC有足够的可用空间IPs来容纳基本节点,则会返回错误并且不会创建集群。
在大多数部署情况下,每次启动核心节点、主节点和任务节点之间都会有时间差。此外,多个集群可以共享一个子网。在这些情况下,IP 地址的可用性可能会发生波动,例如,后续任务节点的启动可能会受到可用 IP 地址的限制。