Подтвердить что ты не робот

Где журналы в Spark на YARN?

Я новичок в искру. Теперь я могу запустить искру 0.9.1 на пряжу (2.0.0-cdh4.2.1). Но после выполнения журнала нет журнала.

Для запуска примера искры используется следующая команда. Но журналы не найдены на сервере истории, как в обычном задании 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

Где я могу найти logs/stderr/stdout?

Есть ли место для настройки конфигурации? Я нашел вывод с консоли:

14/04/14 18:51:52 INFO Клиент: команда для ApplicationMaster: $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 - "пряжа-автономная" - рабочая память 1024 - рабочие ядра 1 - num-workers 3 1 > <LOG_DIR > /stdout 2 > < LOG_DIR > /stderr

В этой строке обратите внимание на 1> $LOG_DIR/stdout 2> $LOG_DIR/stderr

Где можно установить LOG_DIR?

4b9b3361

Ответ 1

Довольно статья для этого вопроса:

Запуск Spark on YARN - см. раздел "Отладка вашего приложения". Приличное объяснение со всеми необходимыми примерами.

Единственное, что вам нужно для правильной работы сервера истории работы Spark, - это закрыть контекст Spark в приложении. В противном случае сервер истории приложений не увидит вас как COMPLETE и ничего не отобразит (несмотря на то, что пользовательский интерфейс истории доступен, но не так заметен).

Ответ 2

Доступ к журналам можно получить с помощью команды

yarn logs -applicationId <application ID> [OPTIONS]

общие параметры:  -appOwner AppOwner (предполагается, что он является текущим пользователем, если                                не определен)  -containerId ContainerId (должен быть указан, если node                               адрес указан)  -nodeAddress NodeAddress в формате nodename: port                                (необходимо указать, если идентификатор контейнера                                указано)

Примеры:

yarn logs -applicationId application_1414530900704_0003                                      
yarn logs -applicationId application_1414530900704_0003 myuserid

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

Ответ 3

Он записывается в журнал:

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

Журналы находятся на каждом node, на котором выполняется ваше задание Spark.

Ответ 4

Ни один из ответов не делает его кристально чистым, где искать журналы (хотя они и делаются на куски), поэтому я собираю их вместе.

Если включена агрегирование журнала (с помощью jarn.log-aggregation-enable yarn-site.xml), сделайте это

yarn logs -applicationId <app ID>

Однако, если это не включено, вам нужно перейти на машину Data- Node и посмотреть

$HADOOP_HOME/logs/userlogs/application_1474886780074_XXXX/

application_1474886780074_XXXX - это идентификатор приложения