使用 Amazon CLI 配置托管扩展 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 Amazon CLI 配置托管扩展

在创建集群时,可以使用 Amazon EMR 的 Amazon CLI 命令配置托管扩展。您可以使用速记语法 (可在相关命令中指定内联 JSON 配置)。也可以引用包含配置 JSON 的文件。您也可以将托管扩展策略应用于现有集群,并删除以前应用的托管扩展策略。此外,您可以从正在运行的集群中检索扩展策略配置的详细信息。

在集群启动期间启用托管扩展

您可以在集群启动期间启用托管扩展,如以下示例所示。

aws emr create-cluster \ --service-role EMR_DefaultRole \ --release-label emr-5.33.0 \ --name EMR_Managed_Scaling_Enabled_Cluster \ --applications Name=Spark Name=Hbase \ --ec2-attributes KeyName=keyName,InstanceProfile=EMR_EC2_DefaultRole \ --instance-groups InstanceType=m4.xlarge,InstanceGroupType=MASTER,InstanceCount=1 InstanceType=m4.xlarge,InstanceGroupType=CORE,InstanceCount=2 \ --region us-east-1 \ --managed-scaling-policy ComputeLimits='{MinimumCapacityUnits=2,MaximumCapacityUnits=4,UnitType=Instances}'

在使用 create-cluster 时,还可以使用 --managed-scaling-policy 选项指定托管策略配置。

将托管扩展策略应用于现有集群

您可以将托管扩展策略应用于现有集群,如以下示例所示。

aws emr put-managed-scaling-policy --cluster-id j-123456 --managed-scaling-policy ComputeLimits='{MinimumCapacityUnits=1, MaximumCapacityUnits=10, MaximumOnDemandCapacityUnits=10, UnitType=Instances}'

也可以使用 aws emr put-managed-scaling-policy 命令将托管扩展策略应用于现有集群。以下示例使用对 JSON 文件 managedscaleconfig.json 的引用,该文件指定托管扩展策略配置。

aws emr put-managed-scaling-policy --cluster-id j-123456 --managed-scaling-policy file://./managedscaleconfig.json

以下示例显示 managedscaleconfig.json 文件的内容,该文件定义托管扩展策略。

{ "ComputeLimits": { "UnitType": "Instances", "MinimumCapacityUnits": 1, "MaximumCapacityUnits": 10, "MaximumOnDemandCapacityUnits": 10 } }

检索托管扩展策略配置

GetManagedScalingPolicy 命令检索策略配置。例如,以下命令检索集群 ID 为 j-123456 的集群的配置。

aws emr get-managed-scaling-policy --cluster-id j-123456

该命令生成以下示例输出。

{ "ManagedScalingPolicy": { "ComputeLimits": { "MinimumCapacityUnits": 1, "MaximumOnDemandCapacityUnits": 10, "MaximumCapacityUnits": 10, "UnitType": "Instances" } } }

有关在 Amazon CLI 中使用 Amazon EMR 命令的更多信息,请参阅https://docs.amazonaws.cn/cli/latest/reference/emr

删除托管扩展策略

RemoveManagedScalingPolicy 命令可删除策略配置。例如,以下命令删除集群 ID 为 j-123456 的集群的配置。

aws emr remove-managed-scaling-policy --cluster-id j-123456