Gdzie są logs in Spark na YARN?

Jestem nowy w spark. Teraz mogę uruchomić spark 0.9.1 na yarn (2.0.0-cdh4.2.1). Ale nie ma dziennika po wykonaniu.

Poniższe polecenie jest używane do uruchomienia przykładu spark. Ale dzienniki nie są znalezione na serwerze historii, jak w normalnym zadaniu 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

Gdzie mogę znaleźć logs / stderr / stdout?

Jest gdzie ustawić konfigurację? Znalazłem wyjście z konsoli mówiące:

14/04/14 18:51:52 INFO Client: polecenie dla ApplicationMaster: $JAVA_HOME/bin/java-server-Xmx640m-Djava.io.TMPDIR=$PWD / tmp org.Apacz.Iskra./ align = "left" / włóczka.ApplicationMaster --class SimpleApp --jar ./ spark-example-1.0.0.jar --args 'yarn-standalone' --worker-memory 1024 --worker-cores 1 --num-workers 3 1> /stdout 2> /stderr

In this line, notice 1> $LOG_DIR/stdout 2> $LOG_DIR/stderr

Gdzie można ustawić LOG_DIR?

Author: Jacek Laskowski, 2014-04-14

4 answers

Ładny artykuł na to pytanie:

Uruchamianie Spark na YARN - patrz sekcja "debugowanie aplikacji". Przyzwoite Wyjaśnienie ze wszystkimi wymaganymi przykładami.

Jedyną rzeczą, którą musisz wykonać, aby uzyskać poprawnie działający serwer historii Spark, jest zamknięcie kontekstu Spark w aplikacji. W przeciwnym razie, serwer historii aplikacji nie widzi cię jako kompletnego i nie pokazuje niczego (mimo, że interfejs historii jest dostępny, ale nie jest tak widoczny).

 18
Author: Roman Nikitchenko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-04 11:27:03

Możesz uzyskać dostęp do logów za pomocą polecenia

yarn logs -applicationId <application ID> [OPTIONS]

Opcje Ogólne to:

  • appOwner <Application Owner> - AppOwner (zakładany jako bieżący użytkownik, jeśli nie jest określony)
  • containerId <Container ID> - ContainerId (musi być określony, jeśli węzeł adres jest podany)
  • nodeAddress <Node Address> - NodeAddress w formacie nodename:port (musi być podany Jeśli podany jest identyfikator kontenera)

Przykłady:

yarn logs -applicationId application_1414530900704_0003                                      
yarn logs -applicationId application_1414530900704_0003 myuserid

// the user ids are different
yarn logs -applicationId <appid> --appOwner <userid>
 27
Author: MARK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-13 08:16:10

Żadna z odpowiedzi nie wyjaśnia, gdzie szukać dzienników (chociaż robią to w kawałkach), więc składam to do kupy.

Jeśli zagregowanie logów jest włączone (z przędzą.log-aggregation-enable-site.xml) następnie zrób to

yarn logs -applicationId <app ID>

Jeśli jednak nie jest włączona, należy przejść do maszyny Data-Node i spojrzeć na

$HADOOP_HOME/logs/userlogs/application_1474886780074_XXXX/

Application_1474886780074_XXXX jest ID aplikacji

 13
Author: Somum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-07 07:32:00

Zapisuje się do:

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

Dzienniki są na każdym węźle, na którym działa Twoja praca Spark.

 11
Author: Carlos Rendon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-02 18:39:17