joe*_*der 3 hadoop amazon-emr emr apache-spark
我正在尝试使用公平调度启动一个 emr 集群,以便我可以并行运行多个步骤。我看到这可以通过管道(https://aws.amazon.com/about-aws/whats-new/2015/06/run-parallel-hadoop-jobs-on-your-amazon-emr-cluster-using -aws-data-pipeline/),但我已经通过调用 awscli[1] 的气流作业实现了集群管理/自动化创建,因此只需更新我的配置就太好了。
aws emr create-cluster \
--applications Name=Spark Name=Ganglia \
--ec2-attributes "${EC2_PROPERTIES}" \
--service-role EMR_DefaultRole \
--release-label emr-5.8.0 \
--log-uri ${S3_LOGS} \
--enable-debugging \
--name ${CLUSTER_NAME} \
--region us-east-1 \
--instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=CORE,InstanceCount=4,InstanceType=m3.xlarge)
Run Code Online (Sandbox Code Playgroud)
我认为它可以使用 --configurations ( https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html ) 标志来实现,但不确定正确的 env 名称
是的,你是对的。您可以使用 EMR 配置来实现您的目标。您可以使用以下内容创建 JSON 文件:
纱线配置.json:
[
{
"Classification": "yarn-site",
"Properties": {
"yarn.resourcemanager.scheduler.class": "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler"
}
}
]
Run Code Online (Sandbox Code Playgroud)
然后将您的 AWS CLI 修改为:
aws emr create-cluster \
--applications Name=Spark Name=Ganglia \
--ec2-attributes "${EC2_PROPERTIES}" \
--service-role EMR_DefaultRole \
--release-label emr-5.8.0 \
--log-uri ${S3_LOGS} \
--enable-debugging \
--name ${CLUSTER_NAME} \
--region us-east-1 \
--instance-groups \
--configurations file://yarn-config.json
InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m3.xlarge
InstanceGroupType=CORE,InstanceCount=4,InstanceType=m3.xlarge)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3542 次 |
| 最近记录: |