2012-02-02 13 views
5

Mentre esegue il lavoro hadoop su pseudonode, l'attività non riesce e viene uccisa. Errore: tentativo di task_ non riescono a riportare lo stato per 601 secondiJob Hadoop: l'attività non riesce a riportare lo stato per 601 secondi

Ma lo stesso programma sta eseguendo Eclipse (lavoro locale).

Task: ci sono circa 25K parole chiave, uscita sarà tutte le possibili combinazioni (due alla volta) vale a dire intorno a 25K * 25K entires

Quale può essere il problema?

risposta

7

Per qualche motivo, l'attività, se eseguita sullo pseudonode, non sta procedendo. Puoi aumentare l'impostazione "mapred.task.timeout" in mapred-site.xml. Il valore predefinito della stessa in mapred-default.xml è:

<property> 
    <name>mapred.task.timeout</name> 
    <value>600000</value> 
    <description>The number of milliseconds before a task will be 
       terminated if it neither reads an input, writes 
       an output, nor updates its status string. 
    </description> 
</property> 
2

Per scopi di test/una volta lavoro o debug l'incremento del valore di timeout potrebbe essere una buona opzione, ma come pratica dimostra questo non è una buona soluzione per la produzione, è necessario rivedere e ottimizzare il codice.

2

Hadoop Fornisce l'API di reporting per lo stesso. Se non si riporta l'avanzamento al lavoro hadoop per 10 minuti che è 600 secondi, considera l'attività come bloccata e uccide l'attività. Il riferimento API è Here

Problemi correlati