

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configurazione delle applicazioni durante la creazione di un cluster
<a name="emr-configure-apps-create-cluster"></a>

Quando crei un cluster, puoi sovrascrivere le configurazioni predefinite per le applicazioni utilizzando la console Amazon EMR, il AWS Command Line Interface (AWS CLI) o l'SDK. AWS 

Per sovrascrivere la configurazione di default per un'applicazione, devi specificare i valori personalizzati in una classificazione di configurazione. Una classificazione di configurazione corrisponde a un file XML di configurazione per un'applicazione, ad esempio `hive-site.xml`. 

Le classificazioni di configurazione variano a seconda della versione di rilascio di Amazon EMR. Per un elenco delle classificazioni di configurazione disponibili per ciascuna versione di rilascio, consulta la pagina dei dettagli del rilascio. Ad esempio, [Rilascio 6.4.0 di Amazon EMR.](emr-640-release.md#emr-640-class)

## Fornitura di una configurazione nella console quando si crea un cluster
<a name="emr-configure-apps-create-cluster-console"></a>

**Per fornire una configurazione, vai alla pagina **Crea cluster** ed espandi Impostazioni software.** Puoi quindi immettere la configurazione direttamente utilizzando JSON o una sintassi abbreviata illustrata nel testo ombreggiato nella console. In caso contrario, puoi fornire un URI Amazon S3 per un file con un oggetto `Configurations` JSON.

Per fornire una configurazione per un gruppo di istanze, scegli un cluster nell'elenco dei cluster, quindi scegli la scheda **Configurazioni**. **Nella tabella **Configurazioni del gruppo di istanze**, scegli il gruppo di istanze da modificare, quindi scegli Riconfigura.**

## Fornisci una configurazione utilizzando AWS CLI quando crei un cluster
<a name="emr-configure-apps-create-cluster-cli"></a>

È possibile fornire una configurazione per il comando **create-cluster** specificando il percorso di un file JSON archiviato in locale o in Amazon S3. L'esempio seguente presuppone l'utilizzo dei ruoli predefiniti per Amazon EMR precedentemente creati. Se è necessario creare ruoli, esegui prima `aws emr create-default-roles`.

Se la configurazione è nella directory locale, puoi utilizzare il seguente comando di esempio:

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

Se la configurazione si trova in un percorso Simple Storage Service (Amazon S3), sarà necessario impostare la seguente soluzione alternativa prima di passare il percorso Simple Storage Service (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
```

## Fornitura di una configurazione utilizzando l'SDK Java per la creazione di un cluster
<a name="emr-configure-apps-create-cluster-sdk"></a>

L'estratto del programma di seguito mostra come fornire una configurazione usando AWS SDK per 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")
	);
```