Я намагаюся закрутити кластер 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)
Я думаю, це може бути досягнуто за допомогою --configurations (https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html), але не впевнений у правильних назвах env
Відповіді:
0 для відповіді № 1Так, ти маєш рацію. Ви можете використовувати конфігурації EMR для досягнення своєї мети. Ви можете створити файл JSON, наприклад, нижче:
yarn-config.json:
[
{
"Classification": "yarn-site",
"Properties": {
"yarn.resourcemanager.scheduler.class": "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler"
}
}
]
згідно Документи планувальника ярмарків Hadoop
Потім змініть свій 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)