Как получить выполнение DAG из пользовательского интерфейса искровой сети после завершения работы, когда я запускаю искру на YARN?
Я часто делаю анализ DAG моей искровой работы во время ее работы. Но, это раздражает, чтобы сидеть и смотреть приложение во время его работы, чтобы увидеть DAG.
Итак, я попытался просмотреть DAg, используя эту вещь под названием spark history-server
, которую я знаю, должен помочь мне увидеть прошлые задания. Я легко могу получить доступ к порту 18080
, и я могу видеть интерфейс сервера истории.
Но это не показывает мне никакой информации, связанной с выполнением искровой программы. Я знаю, что у меня работает сервер истории, потому что, когда я делаю sudo service --status-all
, я вижу
spark history-server is running [ OK ]
Итак, я уже пробовал, что предложил этот вопрос: здесь.
Я думаю, что это потому, что я запускаю искру на YARN, и он может использовать только один менеджер ресурсов за раз? может быть?
Итак, как мне увидеть DAG искрового исполнения, * после завершения задания? и, более конкретно, при запуске YARN в качестве моего менеджера ресурсов?
Ответы
Ответ 1
Выполнение только history-server
недостаточно для выполнения выполнения DAG
предыдущих заданий. Вам нужно указать задания для хранения журналов событий всех предыдущих заданий.
Запустить сервер истории Spark ./sbin/start-history-server.sh
Включить журнал событий для искровой работы
spark.eventLog.enabled true
spark.eventLog.dir <path to event log(local or hdfs)>
spark.history.fs.logDirectory <path to event log(local or hdfs)>
Добавьте их в файл spark-defaults.conf
Ответ 2
Как упоминалось в Monitoring and Instrumentation, нам нужно установить три параметра, которые будут установлены в spark-defaults.conf
spark.eventLog.enabled
spark.eventLog.dir
spark.history.fs.logDirectory
Первое свойство должно быть true
spark.eventLog.enabled true
Второе и третье свойства должны указывать на местоположения event-log
, которые могут быть local-file-system
или hdfs-file-system
. Второе свойство определяет, где хранить журналы для искровых заданий, а третье свойство - для истории-сервера для отображения журналов в веб-интерфейсе на 18080.
Если вы выберете linux local-file-system (/opt/spark/spark-events)
Либо
spark.eventLog.dir file:/opt/spark/spark-events
spark.history.fs.logDirectory file:/opt/spark/spark-events
или
spark.eventLog.dir file:///opt/spark/spark-events
spark.history.fs.logDirectory file:///opt/spark/spark-events
должен работать
Если вы выберете hdfs-file-system (/spark-events)
Либо
spark.eventLog.dir hdfs:/spark-events
spark.history.fs.logDirectory hdfs:/spark-events
или
spark.eventLog.dir hdfs:///spark-events
spark.history.fs.logDirectory hdfs:///spark-events
Или
spark.eventLog.dir hdfs://masterIp:9090/spark-events
spark.history.fs.logDirectory hdfs://masterIp:9090/spark-events
должен работать там, где masterIp:9090
является свойством fs.default.name
в конфигурации core-site.xml
hadoop
.
Сервер истории искры Apache можно запустить с помощью
$SPARK_HOME/sbin/start-history-server.sh
Третий сторонний сервер истории искры, например Cloudera может быть запущен
sudo service spark-history-server start
И чтобы остановить сервер истории (для Apache)
$SPARK_HOME/sbin/stop-history-server.sh
Или (для cloudera)
sudo service spark-history-server stop