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: Controllo delle impostazioni di configurazione
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 AmazonEMR, esistono impostazioni EMR specifiche di 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 Hadoop predefinite che utilizza per avviare un cluster. I valori si basano sul tipo 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 Creazione di operazioni di bootstrap per l'installazione di software aggiuntivo. 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 /mnt/var/log/hadoop/history/
nella job_
directory del nodo master, dove job-id
_conf.xmljob-id
viene sostituito dall'identificatore del lavoro. Se hai abilitato l'archiviazione dei log, questi dati vengono copiati su Amazon S3 nella logs/
cartella, dove date
/jobflow-id
/jobsdate
è la data di esecuzione del lavoro 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 queste influiscono sul comportamento di Hadoop, visita la pagina all'indirizzo http://hadoop.apache.org/docs/
avvertimento
-
L'impostazione
dfs.replication
su 1 nei cluster con meno di quattro nodi può causare la perdita di HDFS dati in caso di interruzione di un singolo nodo. Ti consigliamo di utilizzare un cluster con almeno quattro nodi principali per i carichi di lavoro di produzione. -
Amazon non EMR consentirà ai cluster di scalare i nodi principali sottostanti
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 HDFS nodi in cui viene copiato un singolo blocco (ad esempio il blocco del disco rigido) per creare un ambiente simile a RAID -. Determina il numero di HDFS nodi 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 JVM di un task da eseguire all'interno. "-Xmx" è un parametro comune per l'impostazione della dimensione massima della memoria. |
mapred.map.child.java.opts | Le opzioni Java TaskTracker vengono utilizzate all'avvio di un'attività JVM for a map da eseguire 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 un'attività JVM for a reduce 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 all'interno di un'unica JVM operazione. Specifica quante attività possono essere riutilizzate allo stesso modo. 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.