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à.
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, oltre alle impostazioni di configurazione di Hadoop standard sono disponibili anche impostazioni specifiche di Amazon EMR. 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 log vengono archiviati in un file denominato job_
nella 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, date
/jobflow-id
/jobsdate
dove si trova la data di esecuzione del processo jobflow-id
e 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 queste influiscono sul comportamento di Hadoop, visita la pagina all'indirizzo http://hadoop.apache.org/docs/
avvertimento
-
L'impostazione di
dfs.replication
su 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 il dimensionamento gestito, il dimensionamento automatico o scegli di dimensionare manualmente il cluster, ti consigliamo di impostare
dfs.replication
su 2 o su un valore superiore.
Impostazione di configurazione | Descrizione |
---|---|
dfs.replication | Il numero di nodi HDFS in cui un singolo blocco (ad esempio un blocco di disco rigido) viene copiato per generare un ambiente di tipo RAID. 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 all'avvio di una JVM per eseguire un'attività all'interno. "-Xmx" è un parametro comune per l'impostazione della dimensione massima della memoria. |
mapred.map.child.java.opts | Le opzioni Java TaskTracker utilizzate all'avvio di una JVM per eseguire un'attività di mappa all'interno. "-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 TaskTracker vengono utilizzate all'avvio di una JVM per un'attività di riduzione da eseguire 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.