Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
创建使用 Amazon CloudWatch 代理的 EMR 集群
本部分中的过程描述了使用 Amazon Web Services 管理控制台 和 Amazon CLI 中的 Amazon CloudWatch 代理在 Amazon EMR 中创建集群的步骤。
CloudWatch 代理所需的 IAM 权限
CloudWatch 代理需要 Amazon EMR 的 Amazon EC2 实例配置文件中的 Amazon Identity and Access Management(IAM)cloudwatch:PutMetricData 权限。Amazon EMR 的默认角色已经拥有此权限。您还可以使用 aws
emr create-default-roles 从 Amazon CLI 中创建默认角色。如需了解更多信息,请参阅《Amazon EMR 管理指南》中的集群 EC2 实例的服务角色(EC2 实例配置文件)。
以下示例 IAM policy 包括 cloudwatch:PutMetricData 权限:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData"
],
"Resource": [
"*"
],
"Sid": "AllowCLOUDWATCHPutmetricdata"
}
]
}
所需的 CloudWatch 代理端点
要在私有子网中将指标发布到 EMR 集群的 CloudWatch,请创建一个 CloudWatch 代理端点并与私有子网所在的 VPC 关联。
有关每个 Amazon Web Services 区域 的 CloudWatch 端点的更多信息,请参阅《Amazon 一般参考指南》中的 Amazon CloudWatch 端点和配额。
创建 EMR 集群
设置了与 CloudWatch 代理结合使用的所需权限和端点后,使用 Amazon Web Services 管理控制台 或 Amazon CLI 在安装了代理的情况下创建新集群。
- Console
-
要通过控制台使用 Amazon CloudWatch 代理创建集群
-
导航到 Amazon EMR 控制台。
-
选择创建集群。
-
在名称和应用程序下,选择 7.0.0 或更高版本的 Amazon EMR 发行版。
-
在应用程序捆绑包下,选择要安装到集群中的捆绑包或应用程序,并在您的选择中包含 CloudWatch 代理。
-
继续创建集群以满足您的应用场景需求。
- Amazon CLI
-
在 Amazon CLI 中,您可以使用 create-cluster 的 --applications 参数将 Amazon CloudWatch 代理添加到集群。
要通过 Amazon CLI 使用 Amazon CloudWatch 代理创建集群
-
创建集群时,使用类似于以下内容的命令将 Amazon CloudWatch 代理包括在内。将 myKey 替换为您的 EC2 密钥对的名称。
aws emr create-cluster --name "Spark cluster with CloudWatch agent" \
--release-label emr-7.0.0 \
--applications Name=Spark Name=AmazonCloudWatchAgent \
--ec2-attributes KeyName=myKey --instance-type m7g.2xlarge \
--instance-count 3 --use-default-roles
有关如何将 Amazon EMR 与 Amazon CLI 配合使用的更多详细信息,请参阅《Amazon CLI 命令参考》https://awscli.amazonaws.com/v2/documentation/api/latest/reference/emr/index.html。