web-dev-qa-db-fra.com

Où sont les journaux Spark sur YARN?)

Je suis nouveau pour susciter. Maintenant, je peux exécuter spark 0.9.1 sur du fil (2.0.0-cdh4.2.1). Mais il n'y a pas de journal après l'exécution.

La commande suivante est utilisée pour exécuter un exemple spark.), Mais les journaux ne sont pas trouvés dans le serveur d'historique comme dans un travail MapReduce normal.

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

où puis-je trouver les journaux/stderr/stdout?

Y at-il un endroit pour définir la configuration? J'ai trouvé une sortie de la console en disant:

14/04/14 18:51:52 INFO Client: Commande pour le maître d'applications: $ Java_HOME/bin/Java -server -Xmx640m -Djava.io.tmpdir = $ PWD/tmp org.Apache.spark.deploy.yarn.ApplicationMaster --class SimpleApp --jar ./spark-example-1.0.0.jar --args 'yarn-standalone' - --worker-memory 1024 --worker-core 1 --num-workers 3 1> <LOG_DIR>/stdout 2> <LOG_DIR>/stderr

Dans cette ligne, notez 1> $LOG_DIR/stdout 2> $LOG_DIR/stderr

Où peut-on installer LOG_DIR?

39
DeepNightTwo

Joli article pour cette question:

En cours d'exécution Spark sur YARN - voir la section "Débogage de votre application". Explication décente avec tous les exemples requis.

La seule chose que vous devez suivre pour obtenir le serveur d’historique qui fonctionne correctement pour Spark est de fermer votre contexte Spark dans votre application. Sinon, le serveur d’historique des applications ne vous voyez comme COMPLETE et ne montre rien (malgré l'historique, l'interface utilisateur est accessible mais pas aussi visible).

20
Roman Nikitchenko

Vous pouvez accéder aux journaux via la commande

yarn logs -applicationId <application ID> [OPTIONS]

les options générales sont:

  • appOwner <Application Owner> - AppOwner (supposé être l'utilisateur actuel s'il n'est pas spécifié)
  • containerId <Container ID> - ContainerId (doit être spécifié si l'adresse du nœud est spécifiée)
  • nodeAddress <Node Address> - NodeAddress au format nodename:port _ (doit être spécifié si l'ID de conteneur est spécifié)

Exemples:

yarn logs -applicationId application_1414530900704_0003                                      
yarn logs -applicationId application_1414530900704_0003 myuserid

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

Aucune des réponses n'indique clairement où chercher des journaux (bien qu'ils le fassent en morceaux), je les assemble donc.

Si l'agrégation de journaux est activée (avec le fichier yarn.log-aggregation-enable yarn-site.xml), procédez comme suit:

yarn logs -applicationId <app ID>

Cependant, si cette option n'est pas activée, il faut aller sur la machine Data-Node et regarder

$HADOOP_HOME/logs/userlogs/application_1474886780074_XXXX/

application_1474886780074_XXXX est l'ID d'application

14
Somum

Il se connecte à:

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

Les journaux se trouvent sur chaque nœud sur lequel votre travail Spark est exécuté).

13
Carlos Rendon