Spark UI

Операции SPYT запускают веб-интерфейс Spark UI. Обычно открыть его напрямую нельзя: например, если узлы кластера находятся в закрытой внутренней сети (как в Kubernetes) или адреса джобов меняются при переезде на другие машины.

Чтобы вы могли попасть в интерфейс, используется task-прокси. Он создает стабильную ссылку, которая работает даже при перемещении джобов между узлами, и проверяет права доступа при входе.

Примечание

Чтобы можно было работать c task-прокси, администратор кластера должен предварительно развернуть этот компонент.

Настройка запуска Spark-кластера

Чтобы Spark UI работал через task-прокси, при запуске Standalone кластера необходимо включить специальный флаг конфигурации spark.ui.reverseProxy. Для этого добавьте параметры запуска:

spark-launch-yt ... --params '{"spark_conf"={"spark.ui.reverseProxy"="true"}}'

Если кластер уже запущен без этого флага, для исправления работы UI его потребуется перезапустить с нужным параметром.

Как получить доступ к UI

Чтобы открыть Spark UI, выполните следующие шаги:

  1. Узнайте ID операции.
    Его можно найти на странице Operations в интерфейсе YTsaurus или в выводе (stdout) консольных команд spark-launch-yt / spark-submit.

  2. Найдите адрес сервиса.
    Task-прокси публикует информацию обо всех активных веб-сервисах в системной таблице Кипариса: //sys/task_proxies/services.
    Найдите в этой таблице строки, соответствующие вашему operation_id.

    Пример содержимого таблицы:

    domain operation_id (пример) task_name service protocol
    2ef4261c.my-cluster.ytsaurus.example.net a6e04b98... master ui http
    51a6d485.my-cluster.ytsaurus.example.net a6e04b98... history ui http
    37a5f11c.my-cluster.ytsaurus.example.net 6699a5a9... driver ui http
    • Строка 1 (master): UI мастер-ноды standalone кластера.
    • Строка 2 (history): UI сервера истории (History Server).
    • Строка 3 (driver): UI драйвера при запуске через direct submit.
  3. Откройте ссылку.
    Скопируйте значение из колонки domain (например, 2ef4261c.my-cluster.ytsaurus.example.net) и вставьте его в адресную строку браузера.