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à.
Fase 6: Rivedi le impostazioni di configurazione per il cluster Amazon EMR
Le impostazioni di configurazione specificano dettagli relativi all'esecuzione di un cluster, come il numero di nuovi tentativi per un'attività e la quantità di memoria disponibile per l'ordinamento. Quando avvii un cluster utilizzando Amazon EMR, ci sono EMR-specific impostazioni Amazon oltre alle impostazioni di configurazione standard di Hadoop. Le impostazioni di configurazione sono memorizzate nel nodo master del cluster. Puoi verificare le impostazioni di configurazione per assicurarti che il cluster disponga delle risorse necessarie per una corretta esecuzione.
Amazon EMR definisce le impostazioni di configurazione di Hadoop di default che utilizza per avviare un cluster. I valori sono basati sull'AMI e sul tipo di istanza specificato per il cluster. Puoi modificare i valori di default delle impostazioni di configurazione mediante un'operazione di bootstrap o specificando nuovi valori nei parametri di esecuzione dei processi. Per ulteriori informazioni, consulta Crea azioni di bootstrap per installare software aggiuntivo con un cluster Amazon EMR. Per determinare se un'operazione di bootstrap ha modificato le impostazioni di configurazione, controlla i log delle operazioni di bootstrap.
Amazon EMR registra le impostazioni Hadoop utilizzate per eseguire ogni processo. I dati di registro vengono archiviati in un file denominato nella job_ job-id_conf.xml/mnt/var/log/hadoop/history/ directory del nodo master, dove job-id vengono sostituiti dall'identificatore del lavoro. Se hai abilitato l'archiviazione dei log, questi dati vengono copiati in Amazon S3 nella logs/ cartella, dove si date/jobflow-id/jobsdate trova la data di esecuzione del job e jobflow-id l'identificatore del cluster.
Le seguenti impostazioni di configurazione di processi Hadoop sono particolarmente utili per la risoluzione dei problemi di prestazioni. Per ulteriori informazioni sulle impostazioni di configurazione di Hadoop e su come influiscono sul comportamento di Hadoop, vai a. http://hadoop.apache.org/docs/
avvertimento
-
L'impostazione di
dfs.replicationsu 1 per i cluster con meno di quattro nodi può causare la perdita di dati HDFS in caso di disattivazione anche di un singolo nodo. Ti consigliamo di utilizzare un cluster con almeno quattro nodi principali per i carichi di lavoro di produzione. -
Amazon EMR non consente ai cluster di dimensionare i nodi principali al di sotto di
dfs.replication. Ad esempio, sedfs.replication = 2, il numero minimo di nodi principali è 2. -
Quando utilizzi Managed Scaling o scegli di ridimensionare manualmente il cluster, ti consigliamo di impostarlo su 2 o superiore. Auto-scaling
dfs.replication
| Impostazione di configurazione | Description |
|---|---|
| dfs.replication | Il numero di nodi HDFS in cui viene copiato un singolo blocco (ad esempio il blocco del disco rigido) per creare un ambiente. RAID-like Determina il numero di nodi HDFS che contengono una copia del blocco. |
| io.sort.mb | La memoria totale disponibile per l'ordinamento. Il valore deve essere 10x io.sort.factor. Questa impostazione può anche essere utilizzata per calcolare la memoria totale utilizzata dal nodo di task moltiplicando io.sort.mb per mapred.tasktracker.ap.tasks.maximum. |
| io.sort.spill.percent | Utilizzata durante l'ordinamento. In tal caso il disco viene utilizzato in quanto la memoria di ordinamento assegnata è esaurita. |
| mapred.child.java.opts | Obsoleta. Utilizzare mapred.map.child.java.opts e mapred.reduce.child.java.opts. Le opzioni Java TaskTracker utilizzate quando si avvia una JVM all'interno della quale eseguire un'operazione. "-Xmx" è un parametro comune per l'impostazione della dimensione massima della memoria. |
| mapred.map.child.java.opts | Le opzioni Java vengono TaskTracker utilizzate quando si avvia una JVM all'interno della quale eseguire un'attività di mappa. "-Xmx" è un parametro comune per l'impostazione della dimensione massima dell'heap di memoria. |
| mapred.map.tasks.speculative.execution | Determina se i tentativi di attività di mappatura della stessa attività possono essere avviati in parallelo. |
| mapred.reduce.tasks.speculative.execution | Determina se i tentativi di attività di riduzione della stessa attività possono essere avviati in parallelo. |
| mapred.map.max.attempts | Il numero massimo di tentativi per un'attività di mappatura. Se tutti i tentativi non riescono, l'attività di mappatura viene contrassegnata come non riuscita. |
| mapred.reduce.child.java.opts | Le opzioni Java vengono TaskTracker utilizzate quando si avvia una JVM per eseguire un'attività di riduzione all'interno. "-Xmx" è un parametro comune per l'impostazione della dimensione massima dell'heap di memoria. |
| mapred.reduce.max.attempts | Il numero massimo di tentativi per un'attività di riduzione. Se tutti i tentativi non riescono, l'attività di mappatura viene contrassegnata come non riuscita. |
| mapred.reduce.slowstart.completed.maps | Il numero di attività di mappatura che devono essere completate prima dell'avvio delle attività di riduzione. Se il tempo di attesa è troppo breve, è possibile che vengano generati errori "Too many fetch-failure (Troppi errori di recupero)" nei tentativi. |
| mapred.reuse.jvm.num.tasks | Un'attività viene eseguita in una singola JVM. Specifica il numero di attività che possono riutilizzare la stessa JVM. |
| mapred.tasktracker.map.tasks.maximum | Il numero massimo di attività che possono essere eseguite in parallelo per nodo di task durante la mappatura. |
| mapred.tasktracker.reduce.tasks.maximum | Il numero massimo di attività che possono essere eseguite in parallelo per nodo di task durante la riduzione. |
Se le attività del cluster utilizzano molta memoria, è possibile migliorare le prestazioni utilizzando un minor numero di attività per nodo principale e riducendo la dimensione heap del job tracker.