Перейти к содержанию

Обзор развертывания Apache Spark на сервере

Предварительные требования

Для корректной работы приложения требуются следующие параметры системы и сетевые настройки:

  • Операционная система: Debian или Ubuntu.

  • Среда выполнения: Java (JDK).

  • Порты:

  • 443 — внешний порт для доступа через HTTPS.

  • 8080 — порт Master UI.

  • 8081 — порт Worker UI.

  • 18080 — порт History Server UI.

  • 4040 — внутренний порт приложения.

FDQN итоговой панели на домене hostkey.in

Для доступа к приложению используется следующий шаблон доменного имени:

Параметр Значение
Префикс spark
Домен hostkey.in
Полный шаблон spark{Server_ID}.hostkey.in

Процесс установки приложения

Процесс развертывания включает в себя несколько этапов:

  1. Обновление системы: Выполняется обновление списков пакетов и обновление установленного программного обеспечения через менеджер пакетов apt.

  2. Установка среды выполнения: Устанавливается пакет default-jdk для обеспечения работы Java. В переменные окружения (/etc/environment) добавляется путь к JAVA_HOME (зависит от версии дистрибутива: OpenJDK 11 или OpenJDK 17) и устанавливается локальный IP 127.0.0.1.

  3. Загрузка Apache Spark: Выполняется скачивание архива spark-3.5.3-bin-hadoop3.tgz с официального репозитория Apache, его распаковка в корневой каталог и последующее удаление архивного файла.

  4. Настройка проксирования: Устанавливается Docker, настраивается конфигурация Nginx для работы через SSL (Certbot) и создается файл compose.yml в директории /root/nginx.

Контейнеры Docker и их запуск

Для обеспечения работы веб-интерфейса и управления SSL-сертификатами используется следующий контейнер:

Имя образа Порты Тома (volumes) Переменные окружения Политика перезапуска
jonasal/nginx-certbot:latest 443/tcp, 80/tcp (host mode) - nginx_secrets:/etc/letsencrypt
- /data/nginx/user_conf.d:/etc/nginx/user_conf.d
CERTBOT_EMAIL=hkadm@hostkey.com unless-stopped

Примечание: Контейнер использует сетевой режим host.

Инструкция по обновлению приложения

Для обновления основного приложения необходимо выполнить следующие действия:

  1. Перейти в директорию с конфигурацией прокси:

    cd /root/nginx
    

  2. Обновить контейнеры (если требуется обновление прокси-слоя):

    docker compose up -d --remove-orphans
    

Расположение конфигурационных файлов и данных

Основные пути к файлам в системе:

  • /root/nginx/compose.yml — файл конфигурации Docker Compose для Nginx.

  • /data/nginx/user_conf.d/ — директория с конфигурационными файлами Nginx для конкретного домена.

  • /etc/environment — системные переменные окружения (JAVA_HOME, SPARK_LOCAL_IP).

Доступные порты для подключения

Сервис Порт Путь в URL
Основной интерфейс 443 /
Master UI 8080 /master
Worker UI 8081 /worker
History Server 18080 /history

Запуск, остановка приложения

Управление прокси-сервером (Nginx + Certbot) осуществляется через Docker Compose:

  • Запуск:

    cd /root/nginx && docker compose up -d
    

  • Остановка:

    cd /root/nginx && docker compose down
    

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×