2017-01-03 5 views
0

У меня есть класс java, который управляет заданиями и выполняет их через искру (используя 1.6). Я использую API - sparkLauncher. startApplication (SparkAppHandle.Listener ... listeners), чтобы отслеживать состояние задания. Проблема заключается в том, что я перешел работать в реальной среде кластера, и этот способ не может работать, когда мастер и рабочие не находятся на одном компьютере, так как внутренняя реализация использует только localhost (loopback) для открытия порта для рабочих. API sparkLauncher.launch() работает, но не позволяет мне контролировать статус. Какова наилучшая практика для среды кластера с использованием java-кода? Я также видел вариант скрытого Rest API, достаточно ли он достаточно зрелый? Должен ли я включить его в искрах как-то (я получаю отказ в доступе, хотя порт открыт снаружи)?Отправить и отслеживать искровые задания через java в режиме кластера

ответ

0

REST API

В дополнение к просмотру метрики в пользовательском интерфейсе, они также доступны в формате JSON. Это дает разработчикам простой способ создания новых визуализаций и средств мониторинга для Spark. JSON доступен как для запущенных приложений, так и для сервера истории. Конечные точки монтируются в/api/v1. Например, для сервера истории они, как правило, будут доступны по адресу http: //: 18080/api/v1 и для работающего приложения, по адресу http://localhost:4040/api/v1.

Подробнее вы можете найти here.

+0

Спасибо за ваш ответ. Я пытаюсь использовать API скрытого отдыха, но когда выполняется с другой машины, а затем с искровым мастером, я получаю 403, порт открыт в машине, знаете ли вы о настройке безопасности искры, связанной с ним? – user601929

+0

Проверьте, можете ли вы получить доступ к порту. вы можете попробовать что-то как: telnet server.hostname port –

+0

Я не могу извне, но в группе безопасности порт открыт, должен ли он каким-то образом активироваться из конфигурации искры? – user601929

0

Каждый SparkContext запускает веб-интерфейс по умолчанию на порту 4040, который отображает полезную информацию о приложении. Это включает в себя:

  • список этапов планировщика задач и
  • Резюме размеров RDD и использование памяти
  • экологической информации.
  • Информация о бегущих исполнителях

Вы можете получить доступ к этому интерфейсу, просто открыв http://driver-node:4040 в веб-браузере. Если на одном и том же хосте работает несколько SparkContext, они будут привязываться к последовательным портам, начиная с 4040 (4041, 4042 и т. Д.).

Подробнее вы можете найти here.

Смежные вопросы