

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de las aplicaciones al crear un clúster
<a name="emr-configure-apps-create-cluster"></a>

Al crear un clúster, puede anular las configuraciones predeterminadas de las aplicaciones mediante la consola Amazon EMR, AWS Command Line Interface el AWS CLI() o AWS el SDK. 

Para anular la configuración predeterminada de una aplicación, debe especificar valores personalizados en una clasificación de configuración. Una clasificación de configuración corresponde a un archivo XML de configuración para una aplicación, como `hive-site.xml`. 

Las clasificaciones de configuración varían en función de la versión de Amazon EMR. Para ver una lista de las clasificaciones de configuración que están disponibles para cada versión de lanzamiento, consulte la página de detalles de lanzamiento. Por ejemplo, [Versión 6.4.0. de Amazon EMR](emr-640-release.md#emr-640-class).

## Proporcionar una configuración en la consola al crear un clúster
<a name="emr-configure-apps-create-cluster-console"></a>

Para proporcionar una configuración, vaya a la página **Crear clúster** y amplíe la **Configuración de software**. A continuación, puede introducir la configuración directamente a través de JSON o una sintaxis abreviada mostrada en el texto en sombra en la consola. De lo contrario, puede proporcionar una URI de Amazon S3 para un archivo con un objeto `Configurations` de JSON.

Para proporcionar una configuración para un grupo de instancias, elija un clúster de la lista de clústeres y, a continuación, elija la pestaña **Configuraciones**. En la tabla de **Configuraciones de grupos de instancias**, seleccione el grupo de instancias que desea editar y, a continuación, seleccione **Reconfigurar**.

## Proporcione una configuración mediante la opción AWS CLI al crear un clúster
<a name="emr-configure-apps-create-cluster-cli"></a>

Puede proporcionar una configuración para **create-cluster** suministrando una ruta a un archivo JSON almacenado localmente o en Amazon S3. En el siguiente ejemplo se supone que está utilizando los roles predeterminados de Amazon EMR y que roles ya se han creado. Si necesita crear los roles, ejecute `aws emr create-default-roles` en primer lugar.

Si la configuración está en su directorio local, puede utilizar el siguiente comando de ejemplo.

```
aws emr create-cluster --use-default-roles --release-label emr-7.12.0 --applications Name=Hive \
--instance-type m5.xlarge --instance-count 3 --configurations file://./configurations.json
```

Si su configuración está en una ruta de Amazon S3, tendrá que configurar la siguiente solución alternativa antes de pasar la ruta de Amazon S3 al comando `create-cluster`.

```
#!/bin/sh
# Assume the ConfigurationS3Path is not public, and its present in the same AWS account as the EMR cluster
ConfigurationS3Path="s3://amzn-s3-demo-bucket/config.json"
# Get a presigned HTTP URL for the s3Path
ConfigurationURL=`aws s3 presign $ConfigurationS3Path --expires-in 300`
# Fetch the presigned URL, and minify the JSON so that it spans only a single line
Configurations=`curl $ConfigurationURL | jq -c .`
aws emr create-cluster --use-default-roles --release-label emr-5.34.0 --instance-type m5.xlarge --instance-count 2 --applications Name=Hadoop Name=Spark --configurations $Configurations
```

## Proporcione una configuración mediante el SDK de Java al crear un clúster
<a name="emr-configure-apps-create-cluster-sdk"></a>

El siguiente extracto de programa muestra cómo proporcionar una configuración utilizando AWS SDK para Java.

```
Application hive = new Application().withName("Hive");

Map<String,String> hiveProperties = new HashMap<String,String>();
	hiveProperties.put("hive.join.emit.interval","1000");
	hiveProperties.put("hive.merge.mapfiles","true");
	    
Configuration myHiveConfig = new Configuration()
	.withClassification("hive-site")
	.withProperties(hiveProperties);

RunJobFlowRequest request = new RunJobFlowRequest()
	.withName("Create cluster with ReleaseLabel")
	.withReleaseLabel("emr-5.20.0")
	.withApplications(hive)
	.withConfigurations(myHiveConfig)
	.withServiceRole("EMR_DefaultRole")
	.withJobFlowRole("EMR_EC2_DefaultRole")
	.withInstances(new JobFlowInstancesConfig()
		.withEc2KeyName("myEc2Key")
		.withInstanceCount(3)
		.withKeepJobFlowAliveWhenNoSteps(true)
		.withMasterInstanceType("m4.large")
		.withSlaveInstanceType("m4.large")
	);
```