Обзор развертывания 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 |
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов:
-
Обновление системы: Выполняется обновление списков пакетов и обновление установленного программного обеспечения через менеджер пакетов
apt. -
Установка среды выполнения: Устанавливается пакет
default-jdkдля обеспечения работы Java. В переменные окружения (/etc/environment) добавляется путь кJAVA_HOME(зависит от версии дистрибутива: OpenJDK 11 или OpenJDK 17) и устанавливается локальный IP127.0.0.1. -
Загрузка Apache Spark: Выполняется скачивание архива
spark-3.5.3-bin-hadoop3.tgzс официального репозитория Apache, его распаковка в корневой каталог и последующее удаление архивного файла. -
Настройка проксирования: Устанавливается 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.
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо выполнить следующие действия:
-
Перейти в директорию с конфигурацией прокси:
-
Обновить контейнеры (если требуется обновление прокси-слоя):
Расположение конфигурационных файлов и данных¶
Основные пути к файлам в системе:
-
/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:
-
Запуск:
-
Остановка: