Dove sono i registri in scintilla su filati?
-
26-12-2019 - |
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?
Soluzione
Bellissimo articolo per questa domanda:
in esecuzione scintilla su filati - Vedere la sezione "Debug della tua applicazione".Spiegazione decente con tutti gli esempi richiesti.
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 formatonodename: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.