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?
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).
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 formacienodename: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>
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
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.
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