Domanda

Sono nuovo a Spark.Ora posso eseguire la scintilla 0.9.1 sul filato (2.0.0-cdh4.2.1).Ma non c'è nessun registro dopo l'esecuzione.

Il seguente comando viene utilizzato per eseguire un esempio di scintilla.Ma i registri non vengono trovati nel server di cronologia come in un normale lavoro di Mapreduce.

SPARK_JAR=./assembly/target/scala-2.10/spark-assembly-0.9.1-hadoop2.0.0-cdh4.2.1.jar \
./bin/spark-class org.apache.spark.deploy.yarn.Client --jar ./spark-example-1.0.0.jar \
--class SimpleApp --args yarn-standalone  --num-workers 3 --master-memory 1g \
--worker-memory 1g --worker-cores 1
.

Dove posso trovare i registri / STDERR / STDOUT?

C'è qualche posto per impostare la configurazione? Ho trovato un'uscita dalla console che dice:

.

14/04/14 18:51:52 Informazioni client: comando per l'applicationmaster: $ java_home / bin / java -server -xmx640m -djava.io.tmpdir= $ $ PWD / TMP org.apache.SPARK.Seploy.yarn.ApplicationMaster --Class SimpleApp --jar ./Spark-example-1.0.0.0.jar --Args 'yarn-standalone' --worker-Memory 1024 --Worker-Cores 1 --NUM-WORKER 3 1> / stdout 2> / stderr

In questa linea, avviso 1> $LOG_DIR/stdout 2> $LOG_DIR/stderr

Dove può essere impostato LOG_DIR?

Altri suggerimenti

È possibile accedere ai registri tramite il comando

yarn logs -applicationId <application ID> [OPTIONS]

Le opzioni generali sono:

    .
  • appOwner <Application Owner> - Approwner (presunto per essere attuale utente se non specificato)
  • containerId <Container ID> - ContainerID (deve essere specificato se nodo L'indirizzo è specificato)
  • nodeAddress <Node Address> - nodoaddress nel formato nodename:port (deve essere specificato se è specificato ID contenitore)

Esempi:

yarn logs -applicationId application_1414530900704_0003                                      
yarn logs -applicationId application_1414530900704_0003 myuserid

// the user ids are different
yarn logs -applicationId <appid> --appOwner <userid>
.

Nessuna delle risposte lo renderlo cristallino dove cercare i registri (anche se fanno a pezzi) quindi lo sto mettendo insieme.

Se l'aggregazione del registro è attivata (con il filato di yarn.log-aggregazione-abilitazione-site.xml) quindi fare questo

yarn logs -applicationId <app ID>
.

Tuttavia, se questo non è acceso, uno deve andare sulla macchina del nodo dati e guardare

$HADOOP_HOME/logs/userlogs/application_1474886780074_XXXX/
.

Application_1474886780074_xxxx è l'ID dell'applicazione

Registra a:

/var/log/hadoop-yarn/containers/[application id]/[container id]/stdout
.

I log sono su ogni nodo che viene eseguito il lavoro di scintilla.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top