InstanceProfile is needed to create a cluster - create a python function to install the module

Im using elastic mapreduce with boto.

Everything works fine, but as of this week Im getting this error:

InstanceProfile is required for creating cluster

      

I'm trying to fix this problem and it seems that now we need to create a default role to shrink the elastic map.

And I did it using awscli, with these commands below, but is there no other way to do it (with boto for example)?

If there is no other way, can I create for example a python function that will execute these 3 commands below?

1 - pip install awscli

2 - aws configure

3 - aws emr create-default-role

Ater use these commands above, I also need to add the mapreduce job function:

ami_version="2.4.9",
job_flow_role="EMR_EC2_DefaultRole",
service_role="EMR_DefaultRole"

      

+3


source to share


2 answers


Roles for EMR (for example, the default role) need to be created only once for each account in each region. This is not a step that will need to be done regularly. If you want to create roles via boto, you can manually create roles using the IAM API ( http://boto.readthedocs.org/en/latest/ref/iam.html ) and create roles according to the default policies defined in http : //docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-iam-roles-defaultroles.html



+1


source


Run aws emr create-default-roles

to create default roles for the cluster before issuing the command aws emr create-cluster

.



+1


source







All Articles