为公平调度配置emr集群

gudnpqoy  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(663)

我正在尝试使用公平调度来启动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)

我认为可以使用配置来实现(https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html)标记,但不确定正确的环境名称

yyhrrdl8

yyhrrdl81#

是的,你说得对。您可以使用emr配置来实现您的目标。您可以使用以下内容创建json文件:
yarn-config.json文件:

[
  {
    "Classification": "yarn-site",
    "Properties": {
      "yarn.resourcemanager.scheduler.class": "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler"
    }
  }
]

根据hadoop fair scheduler文档
然后修改为:

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)

相关问题