логотип PurpleSchool
логотип PurpleSchool

Настройка Superset в Docker

Автор

Олег Марков

Введение

Apache Superset — это современная платформа для визуализации данных, которая помогает аналитикам и исследователям визуализировать, исследовать и делиться данными. Чтобы упростить процесс её развертывания и управления, можно использовать Docker. Docker позволяет создать изолированные контейнеры, что делает развертывание и тестирование приложений простым и удобным. В этом руководстве мы рассмотрим, как настроить Superset в Docker для использования в проектах.

Установка и настройка Docker

Установка Docker

Перед началом работы с Superset, убедитесь, что Docker установлен на вашем компьютере. Если Docker ещё не установлен, следуйте следующим шагам для установки:

  1. Скачивание и установка Docker Desktop
    Перейдите на официальную страницу Docker и загрузите установщик для вашей операционной системы. Следуйте инструкциям установщика для завершения процесса.

  2. Проверка установки
    Чтобы убедиться, что Docker установлен правильно, выполните следующую команду в терминале или командной строке:

    docker --version

    Вы должны увидеть сообщение, содержавшее информацию о версии Docker, установленной на вашем устройстве.

Настройка Docker

После установки Docker убедитесь, что служба Docker работает. На Windows и MacOS Docker запускается автоматически при старте системы. На Linux может потребоваться запустить службу вручную:

sudo systemctl start docker

Создание и настройка Docker Compose файла

Docker Compose позволяет управлять множеством контейнеров как одним приложением. Для Superset мы создадим docker-compose.yml файл, который будет описывать все необходимые для работы компоненты.

Файл docker-compose.yml

Создайте в вашем проекте файл с именем docker-compose.yml и добавьте в него следующий код:

version: '3.1'

services:
  superset:
    image: apache/superset
    container_name: superset
    ports:
      - "8088:8088" # Пробрасываем порт для доступа к Superset
    volumes:
      - ./superset:/app/superset_home # Указываем том для хранения данных
    environment:
      SUPERSET_ENV: production
    restart: always

Объяснение Docker Compose файла

  • services: Определяет набор связанных контейнеров, которые составляют ваше приложение.
  • image: Указывает на образ Superset, который будет использоваться для контейнера.
  • ports: Определяет порт на котором Superset будет доступен снаружи.
  • volumes: Создает монтирование для хранения данных Superset, чтобы не потерять их при перезапуске контейнера.
  • environment: Задает переменные окружения, которые будут переданы контейнеру.
  • restart: Обеспечивает автоматический перезапуск контейнера в случае ошибки.

Настройка и запуск Superset

Запуск контейнера

Теперь, когда наш docker-compose.yml готов, мы можем запустить Superset. Выполните в терминале следующую команду:

docker-compose up -d

Эта команда загружает образ Superset и запускает контейнер в фоновом режиме. Теперь Superset доступен по адресу http://localhost:8088.

Инициализация Superset

После первого запуска вам необходимо провести инициализацию для создания всех необходимых баз данных и таблиц:

docker exec -it superset superset db upgrade
docker exec -it superset superset fab create-admin # Создаем администратора
docker exec -it superset superset load_examples
docker exec -it superset superset init
  • superset db upgrade: Выполняет миграции базы данных.
  • superset fab create-admin: Создает нового администратора системы.
  • superset load_examples: Загружает пример данных и настройек (опционально).
  • superset init: Инициализирует нужные структуры данных.

Управление контейнером

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

  • Стоп контейнера:

    docker-compose stop
  • Перезапуск контейнера:

    docker-compose restart
  • Удаление контейнера (и связанных данных):

    docker-compose down -v

Заключение

Мы рассмотрели, как установить и настроить Apache Superset с использованием Docker и Docker Compose. Такое развертывание помогает упростить процесс управления и скалирования аналитиеских приложений благодаря контейнеризации. Эта установка позволяет работать быстро и эффективно, используя возможности Superset для визуализации и анализа данных. Надеюсь, что это руководство помогло вам успешно развернуть Superset в вашем окружении.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile