Docker-развертывание DolphinScheduler
Docker-развертывание DolphinScheduler

Каталог статей

Быстро опробуйте развертывание Docker

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

Как использовать образы Docker

Есть 3 способа быстро попробовать DolphinScheduler

1. Запустите DolphinScheduler с помощью docker-compose (рекомендуется).

Этот метод требует предварительной установки docker-compose, docker-compose Информации по установке уже много в интернете, устанавливайте пожалуйста сами.

для Windows 7-10, можно установить Docker Toolbox。для Windows 10 64-битная версия, вы можете установить Docker Desktop,и УведомлениеСистемные требования

0. Настройте объем памяти не менее 4 ГБ.

для Mac Пользователь, нажмите Docker Desktop -> Preferences -> Resources -> Memory

для Windows Docker Toolbox Пользователи, необходимо настроить два элемента:

  • Память:Открыть Oracle VirtualBox Менеджер, если дважды щелкнуть Docker Quickstart Terminal и успешно работать Docker Toolbox, вы увидите имя с именем default из Виртуальная машина. Нажмите настраивать -> система -> материнская плата -> Памятьразмер
  • переадресация портов:Нажмите настраивать -> сеть -> передовой -> переадресация портов -> добавить в. имя,хост-порт и порт подсистемы Заполните все 12345,Оставьте пустым IP-адрес хоста и ребеноксистемаIP

для Windows Docker Desktop пользователь

  • Режим Hyper-V:Нажмите Docker Desktop -> Settings -> Resources -> Memory
  • Режим WSL 2:ссылка WSL 2 utility VM
1. Загрузите пакет исходного кода.

Загрузите пакет исходного кода apache-dolphinscheduler-1.3.9-src.tar.gz, адрес загрузки: скачать

2. Вытаскиваем образ и запускаем сервис

для Mac и Linux пользователь,Открыть Terminal для Windows Docker Toolbox пользователь,Открыть Docker Quickstart Terminal для Windows Docker Desktop пользователь,Открыть Windows PowerShell

Язык кода:javascript
копировать
$ tar -zxvf apache-dolphinscheduler-1.3.9-src.tar.gz
$ cd apache-dolphinscheduler-1.3.9-src/docker/docker-swarm
$ docker pull dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler:1.3.9
$ docker tag apache/dolphinscheduler:1.3.9 apache/dolphinscheduler:latest
$ docker-compose up -d

PowerShell следует использовать cd apache-dolphinscheduler-1.3.9-src\docker\docker-swarm

PostgreSQL (пользователь root, пароль root, база данных dolphinscheduler) и ZooKeeper Служба будет запущена по умолчанию

3. Авторизуйтесь в системе

Посетите интерфейсную страницу: http://localhost:12345/dolphinscheduler. При необходимости измените ее на соответствующий IP-адрес.

по умолчаниюизпользовательдаadmin,по умолчаниюизпарольдаdolphinscheduler123

[Не удалось передать изображение по внешней ссылке. Исходный сайт может иметь механизм защиты от кражи. Рекомендуется сохранить изображение и загрузить его напрямую (img-kTqmLfVE-1646312172369) (https://dolphinscheduler.apache.org/img/). логин.png)]

пожалуйстассылкапользователь Глава руководстваизНачинайте быстро Узнайте, как использовать DolphinScheduler

2. Указав существующие сервисы PostgreSQL и ZooKeeper.

Этот метод требует предварительной установки docker, docker Информации по установке уже много в интернете, устанавливайте пожалуйста сами.

1. Базовая установка программного обеспечения (установите его самостоятельно)
2. Пожалуйста, войдите в систему PostgreSQL база данных,Создать имя для dolphinscheduler база данных
3. Инициализировать базу данных,импортировать sql/dolphinscheduler_postgre.sql Создавайте таблицы и импортируйте основные данные
4. Загрузите образ DolphinScheduler.

У нас Воля ориентирована на пользователейиз DolphinScheduler Загрузите изображение в docker склад, пользователь Нет необходимости создавать зеркало локально с существующим, напрямую выполните команду к Вниз из docker склад pull Зеркало:

Язык кода:javascript
копировать
docker pull dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler:1.3.9
5. Запустите экземпляр DolphinScheduler.
Язык кода:javascript
копировать
$ docker run -d --name dolphinscheduler \
-e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
-p 12345:12345 \
apache/dolphinscheduler:1.3.9 all

Примечание:база данныхпользователь test ипароль test необходимо заменить реальным PostgreSQL пользовательипароль,192.168.x.x необходимо заменить на PostgreSQL и ZooKeeper хозяин IP

6. Авторизуйтесь в системе

То же, что и выше

3. Запускайте независимые сервисы в DolphinScheduler.

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

Язык кода:javascript
копировать
    MasterServer         ----- masterСлужить
    WorkerServer         ----- workerСлужить
    LoggerServer         ----- loggerСлужить
    ApiApplicationServer ----- apiСлужить
    AlertServer          ----- alertСлужить

Если вы просто хотите запустить некоторые службы в dolphinscheduler

Вы можете запустить некоторые службы в dolphinscheduler, выполнив следующие команды:

  • начать master server, Такие как Вниз:
Язык кода:javascript
копировать
$ docker run -d --name dolphinscheduler-master \
-e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
apache/dolphinscheduler:1.3.9 master-server
  • начать worker server (включать logger server), Такие как Вниз:
Язык кода:javascript
копировать
$ docker run -d --name dolphinscheduler-worker \
-e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
apache/dolphinscheduler:1.3.9 worker-server
  • начать api server, Такие как Вниз:
Язык кода:javascript
копировать
$ docker run -d --name dolphinscheduler-api \
-e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
-e ZOOKEEPER_QUORUM="192.168.x.x:2181" \
-p 12345:12345 \
apache/dolphinscheduler:1.3.9 api-server
  • начать alert server, Такие как Вниз:
Язык кода:javascript
копировать
$ docker run -d --name dolphinscheduler-alert \
-e DATABASE_HOST="192.168.x.x" -e DATABASE_PORT="5432" -e DATABASE_DATABASE="dolphinscheduler" \
-e DATABASE_USERNAME="test" -e DATABASE_PASSWORD="test" \
apache/dolphinscheduler:1.3.9 alert-server

Уведомление: Когда вы проектируете dolphinscheduler в разделе Служить, вы должны указать эти переменные среды DATABASE_HOST, DATABASE_PORT, DATABASE_DATABASE, DATABASE_USERNAME, DATABASE_PASSWORD, ZOOKEEPER_QUORUM

переменные среды

Docker Контейнерные пропускапеременные среды Настроить,приложение-переменные среды Внесен в список DolphinScheduler из Настраиваемыйпеременные средыизначение по умолчанию

Особенно, в Docker Compose и Docker Swarm середина,Можеткпроходитьпеременные среды Конфигурациядокумент config.env.sh Настроить

опорная матрица

Type

поддерживать

Примечание

Shell

да

Python2

да

Python3

косвенныйподдерживать

Смотрите FAQ для деталей

Hadoop2

косвенныйподдерживать

Смотрите FAQ для деталей

Hadoop3

Еще не определено

Еще не проверено

Spark-Local(client)

косвенныйподдерживать

Смотрите FAQ для деталей

Spark-YARN(cluster)

косвенныйподдерживать

Смотрите FAQ для деталей

Spark-Standalone(cluster)

Еще нет

Spark-Kubernetes(cluster)

Еще нет

Flink-Local(local>=1.11)

Еще нет

Generic CLI модельеще нетподдерживать

Flink-YARN(yarn-cluster)

косвенныйподдерживать

Смотрите FAQ для деталей

Flink-YARN(yarn-session/yarn-per-job/yarn-application>=1.11)

Еще нет

Generic CLI модельеще нетподдерживать

Flink-Standalone(default)

Еще нет

Flink-Standalone(remote>=1.11)

Еще нет

Generic CLI модельеще нетподдерживать

Flink-Kubernetes(default)

Еще нет

Flink-Kubernetes(remote>=1.11)

Еще нет

Generic CLI модельеще нетподдерживать

Flink-NativeKubernetes(kubernetes-session/application>=1.11)

Еще нет

Generic CLI модельеще нетподдерживать

MapReduce

косвенныйподдерживать

Смотрите FAQ для деталей

Kerberos

косвенныйподдерживать

Смотрите FAQ для деталей

HTTP

да

DataX

косвенныйподдерживать

Смотрите FAQ для деталей

Sqoop

косвенныйподдерживать

Смотрите FAQ для деталей

SQL-MySQL

косвенныйподдерживать

Смотрите FAQ для деталей

SQL-PostgreSQL

да

SQL-Hive

косвенныйподдерживать

Смотрите FAQ для деталей

SQL-Spark

косвенныйподдерживать

Смотрите FAQ для деталей

SQL-ClickHouse

косвенныйподдерживать

Смотрите FAQ для деталей

SQL-Oracle

косвенныйподдерживать

Смотрите FAQ для деталей

SQL-SQLServer

косвенныйподдерживать

Смотрите FAQ для деталей

SQL-DB2

косвенныйподдерживать

Смотрите FAQ для деталей

FAQ

Как управлять DolphinScheduler через docker-compose?

Запустите, перезапустите, остановите или перечислите все контейнеры:

Язык кода:javascript
копировать
docker-compose start
docker-compose restart
docker-compose stop
docker-compose ps

Остановите все контейнеры и удалите все контейнеры, сети:

Язык кода:javascript
копировать
docker-compose down

Остановите все контейнеры и удалите все контейнеры и тома хранения:

Язык кода:javascript
копировать
docker-compose down -v

Как просмотреть логи контейнера?

Список всех работающих контейнеров:

Язык кода:javascript
копировать
docker ps
docker ps --format "{{.Names}}" # Печатать только имя

Просмотрите логи контейнера с именем docker-swarm_dolphinscheduler-api_1:

Язык кода:javascript
копировать
docker logs docker-swarm_dolphinscheduler-api_1
docker logs -f docker-swarm_dolphinscheduler-api_1 # Следите за выводом журнала
docker logs --tail 10 docker-swarm_dolphinscheduler-api_1 # Отобразить последние 10 строк журнала

Как масштабировать мастера и работника с помощью docker-compose?

Масштабируйте мастер до 2 экземпляров:

Язык кода:javascript
копировать
docker-compose up -d --scale dolphinscheduler-master=2 dolphinscheduler-master

Масштабирование рабочих до 3 экземпляров:

Язык кода:javascript
копировать
docker-compose up -d --scale dolphinscheduler-worker=3 dolphinscheduler-worker

Как развернуть DolphinScheduler на Docker Swarm?

гипотеза Docker Swarm Кластер развернут (если он еще не создан) Docker Swarm кластер, см. create-swarm

Запустите стек с именем dolphinscheduler:

Язык кода:javascript
копировать
docker stack deploy -c docker-stack.yml dolphinscheduler

Перечислите все службы в стеке с именем dolphinscheduler:

Язык кода:javascript
копировать
docker stack services dolphinscheduler

Остановите и удалите стек с именем dolphinscheduler:

Язык кода:javascript
копировать
docker stack rm dolphinscheduler

Удалите все тома хранилища из стека с именем dolphinscheduler:

Язык кода:javascript
копировать
docker volume rm -f $(docker volume ls --format "{{.Name}}" | grep -e "^dolphinscheduler")

Как масштабировать мастер и работника в Docker Swarm?

Масштабируйте мастер стека с именем dolphinscheduler до двух экземпляров:

Язык кода:javascript
копировать
docker service scale dolphinscheduler_dolphinscheduler-master=2

Увеличьте количество рабочих стека dolphinscheduler до трех экземпляров:

Язык кода:javascript
копировать
docker service scale dolphinscheduler_dolphinscheduler-worker=3

Как создать образ Docker?

Строительство из исходного кода (нуждаться Maven 3.3+ & JDK 1.8+)

Unix-подобная система, выполнение в Терминале:

Язык кода:javascript
копировать
$ bash ./docker/build/hooks/build

В системах Windows выполните в cmd или PowerShell:

Язык кода:javascript
копировать
C:\dolphinscheduler-src>.\docker\build\hooks\build.bat

Если вы не понимаете ./docker/build/hooks/build ./docker/build/hooks/build.bat Эти скрипты, пожалуйста, прочитайте содержимое внутри

Сборка из бинарного пакета (ненужный Maven 3.3+ & JDK 1.8+)

пожалуйста, скачайте бинарный пакет apache-dolphinscheduler-1.3.9-bin.tar.gz,скачатьадрес: скачать. а потом apache-dolphinscheduler-1.3.9-bin.tar.gz вставить apache-dolphinscheduler-1.3.9-src/docker/build каталог, в Terminal или PowerShell Исполнение в:

Язык кода:javascript
копировать
$ cd apache-dolphinscheduler-1.3.9-src/docker/build
$ docker build --build-arg VERSION=1.3.9 -t apache/dolphinscheduler:1.3.9 .

PowerShell следует использовать cd apache-dolphinscheduler-1.3.9-src/docker/build

Создавайте образы многоплатформенной архитектуры

В настоящее время поддерживается строительство linux/amd64 и linux/arm64 Зеркальное отображение архитектуры платформы требует:

  1. поддерживать docker buildx
  2. иметь https://hub.docker.com/r/apache/dolphinscheduler из push Разрешения(Будьте осторожны: Команда сборки автоматически переместит зеркало многоплатформенной архитектуры в apache/dolphinscheduler из docker hub)

осуществлять:

Язык кода:javascript
копировать
$ docker login # Авторизоваться, для толчка apache/dolphinscheduler
$ bash ./docker/build/hooks/build x

как Docker Добавить переменные среды?

если ты хочешь быть âПри компиляции добавьте еще какие-то операции и добавьте еще какие-то операции при компиляции. среды,ты Можетксуществовать/root/start-init-conf.shдокументсерединаруководить Исправлять,В то же время, если речь идет о настройке документа Исправить,пожалуйстасуществовать/opt/dolphinscheduler/conf/*.tplсередина Исправлятьсоответствующийиз Конфигурациядокумент

Например,существовать/root/start-init-conf.shДобавить переменные средыSECURITY_AUTHENTICATION_TYPE

Язык кода:javascript
копировать
export SECURITY_AUTHENTICATION_TYPE=PASSWORD

когдадобавить вкначальствопеременные средыназад,вам следуетсуществоватьсоответствующийизшаблондокументapplication-api.properties.tplсерединадобавить вэтотпеременные среды Конфигурация:

Язык кода:javascript
копировать
security.authentication.type=${SECURITY_AUTHENTICATION_TYPE}

/root/start-init-conf.shВоляв соответствии сшаблондокументдинамичныйизгенерировать Конфигурациядокумент:

Язык кода:javascript
копировать
echo "generate dolphinscheduler config"
ls ${DOLPHINSCHEDULER_HOME}/conf/ | grep ".tpl" | while read line; do
eval "cat << EOF
$(cat ${DOLPHINSCHEDULER_HOME}/conf/${line})
EOF
" > ${DOLPHINSCHEDULER_HOME}/conf/${line%.*}
done

Как использовать MySQL вместо PostgreSQL в качестве базы данных DolphinScheduler?

По причинам коммерческой лицензии мы не можем использовать его напрямую. MySQL пакет драйверов. Если вы хотите использовать MySQL, Вы можете взять за основу официальное изображение. apache/dolphinscheduler Строить.

  1. скачать MySQL Пакет драйверов mysql-connector-java-5.1.49.jar (Требовать >=5.1.47)
  2. Создать новый из Dockerfile,используется длядобавить в MySQL из Пакет драйверов:
Язык кода:javascript
копировать
FROM dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler:1.3.9
COPY mysql-connector-java-5.1.49.jar /opt/dolphinscheduler/lib
  1. Создайте пакет, содержащий MySQL Пакет драйверовизновыйзеркало:
Язык кода:javascript
копировать
docker build -t apache/dolphinscheduler:mysql-driver .
  1. Исправлять docker-compose.yml документсерединаиз Местоиметь image Поледля apache/dolphinscheduler:mysql-driver

если ты хочешь быть в Docker Swarm Развернуть на dolphinscheduler, вам нужно изменить docker-stack.yml

  1. Комментарий docker-compose.yml документсерединаиз dolphinscheduler-postgresql кусок
  2. существовать docker-compose.yml Добавлено в документ dolphinscheduler-mysql Служить(Необязательный,Вы можете напрямую использовать внешнюю базу данных MySQL)
  3. Исправлять config.env.sh документсерединаиз DATABASE переменные среды
Язык кода:javascript
копировать
DATABASE_TYPE=mysql
DATABASE_DRIVER=com.mysql.jdbc.Driver
DATABASE_HOST=dolphinscheduler-mysql
DATABASE_PORT=3306
DATABASE_USERNAME=root
DATABASE_PASSWORD=root
DATABASE_DATABASE=dolphinscheduler
DATABASE_PARAMS=useUnicode=true&characterEncoding=UTF-8

Если вы добавили dolphinscheduler-mysql сервис, настройки DATABASE_HOST для dolphinscheduler-mysql Вот и все

  1. бегать dolphinscheduler (Посмотреть подробностиКак использовать образы докера)

Как поддержать источники данных MySQL в Центре источников данных?

По причинам коммерческой лицензии мы не можем использовать его напрямую. MySQL пакет драйверов. Если вы хотите добавить MySQL источник данных, Вы можете взять за основу официальное изображение. apache/dolphinscheduler Строить.

  1. скачать MySQL Пакет драйверов mysql-connector-java-5.1.49.jar (Требовать >=5.1.47)
  2. Создать новый из Dockerfile,используется длядобавить в MySQL Пакет драйверов:
Язык кода:javascript
копировать
FROM dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler:1.3.9
COPY mysql-connector-java-5.1.49.jar /opt/dolphinscheduler/lib
  1. Создайте пакет, содержащий MySQL Пакет драйверовизновыйзеркало:
Язык кода:javascript
копировать
docker build -t apache/dolphinscheduler:mysql-driver .
  1. Воля docker-compose.yml документсерединаиз Местоиметь image Поле Исправлятьдля apache/dolphinscheduler:mysql-driver

если ты хочешь быть в Docker Swarm Развернуть на dolphinscheduler, вам нужно изменить docker-stack.yml

  1. бегать dolphinscheduler (Посмотреть подробностиКак использовать образы докера)
  2. существоватьисточник Центр данных Добавить один MySQL источник данных

Как источники данных Oracle поддерживаются в Центре источников данных?

По причинам коммерческой лицензии мы не можем использовать его напрямую. Oracle пакет драйверов. Если вы хотите добавить Oracle источник данных, Вы можете взять за основу официальное изображение. apache/dolphinscheduler Строить.

  1. скачать Oracle Пакет драйверов ojdbc8.jar (such as ojdbc8-19.9.0.0.jar)
  2. Создать новый из Dockerfile,используется длядобавить в Oracle Пакет драйверов:
Язык кода:javascript
копировать
FROM dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler:1.3.9
COPY ojdbc8-19.9.0.0.jar /opt/dolphinscheduler/lib
  1. Создайте пакет, содержащий Oracle Пакет драйверовизновыйзеркало:
Язык кода:javascript
копировать
docker build -t apache/dolphinscheduler:oracle-driver .
  1. Воля docker-compose.yml документсерединаиз Местоиметь image Поле Исправлятьдля apache/dolphinscheduler:oracle-driver

если ты хочешь быть в Docker Swarm Развернуть на dolphinscheduler, вам нужно изменить docker-stack.yml

  1. бегать dolphinscheduler (Посмотреть подробностиКак использовать образы докера)
  2. существоватьисточник Центр данных Добавить один Oracle источник данных

Как поддержать пип Python 2 и специальные требования.txt?

  1. Создать новый из Dockerfile,Для установки пипа:
Язык кода:javascript
копировать
FROM dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler:1.3.9
COPY requirements.txt /tmp
RUN apt-get update && \
    apt-get install -y --no-install-recommends python-pip && \
    pip install --no-cache-dir -r /tmp/requirements.txt && \
    rm -rf /var/lib/apt/lists/*

Эта команда установит стандартный pip 18.1. если вы хотите обновить pip, Просто добавьте строку

Язык кода:javascript
копировать
    pip install --no-cache-dir -U pip && \
  1. Создайте пакет, содержащий pip изновыйзеркало:
Язык кода:javascript
копировать
docker build -t apache/dolphinscheduler:pip .
  1. Воля docker-compose.yml документсерединаиз Местоиметь image Поле Исправлятьдля apache/dolphinscheduler:pip

если ты хочешь быть в Docker Swarm Развернуть на dolphinscheduler, вам нужно изменить docker-stack.yml

  1. бегать dolphinscheduler (Посмотреть подробностиКак использовать образы докера)
  2. существоватьодинновый Python Миссия Внизпроверять pip

Как поддержать Python 3?

  1. Создать новый из Dockerfile,Чтобы установить Python 3:
Язык кода:javascript
копировать
FROM dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler:1.3.9
RUN apt-get update && \
    apt-get install -y --no-install-recommends python3 && \
    rm -rf /var/lib/apt/lists/*

Эта команда установит стандартный Python 3.7.3. Если вы также хотите установить pip3, Воля python3 Заменить для python3-pip Вот и все

Язык кода:javascript
копировать
    apt-get install -y --no-install-recommends python3-pip && \
  1. Создайте пакет, содержащий Python 3 изновыйзеркало:
Язык кода:javascript
копировать
docker build -t apache/dolphinscheduler:python3 .
  1. Воля docker-compose.yml документсерединаиз Местоиметь image Поле Исправлятьдля apache/dolphinscheduler:python3

если ты хочешь быть в Docker Swarm Развернуть на dolphinscheduler, вам нужно изменить docker-stack.yml

  1. Исправлять config.env.sh документсерединаиз PYTHON_HOME для /usr/bin/python3
  2. бегать dolphinscheduler (Посмотреть подробностиКак использовать образы докера)
  3. существоватьодинновый Python Миссия Внизпроверять Python 3

Как поддерживать Hadoop, Spark, Flink, Hive или DataX?

к Spark 2.4.7 дляпример:

  1. скачать Spark 2.4.7 Выпуск бинарного пакета spark-2.4.7-bin-hadoop2.7.tgz
  2. бегать dolphinscheduler (Посмотреть подробностиКак использовать образы докера)
  3. копировать Spark 2.4.7 двоичный пакет для Docker в контейнере
Язык кода:javascript
копировать
docker cp spark-2.4.7-bin-hadoop2.7.tgz docker-swarm_dolphinscheduler-worker_1:/opt/soft

Из -за объема хранения dolphinscheduler-shared-local крепится к /opt/soft, поэтому /opt/soft Все файлы не будут потеряны

  1. Войдите в контейнер и убедитесь SPARK_HOME2 существовать
Язык кода:javascript
копировать
docker exec -it docker-swarm_dolphinscheduler-worker_1 bash
компакт-диск /opt/soft
tar zxf spark-2.4.7-bin-hadoop2.7.tgz
rm -f искра-2.4.7-bin-hadoop2.7.tgz
ln -s spark-2.4.7-bin-hadoop2.7 spark2 # или ВОЗ mv
$SPARK_HOME2/bin/spark-submit --version

Если все выполнено правильно, последняя команда Воля напечатает Spark.

  1. существоватьодин Shell Миссия Внизпроверять Spark
Язык кода:javascript
копировать
$SPARK_HOME2/bin/spark-submit --class org.apache.spark.examples.SparkPi $SPARK_HOME2/examples/jars/spark-examples_2.11-2.4.7.jar

Проверьте, содержит ли журнал задач выходные данные Pi is roughly 3.146015

  1. существоватьодин Spark Миссия Внизпроверять Spark

документ spark-examples_2.11-2.4.7.jar Необходимо сначала загрузить в ресурсный центр, а затем создать Spark Задачи и настройки:

  • Искра версия: SPARK2
  • Основная функция класса: org.apache.spark.examples.SparkPi
  • Основной пакет: spark-examples_2.11-2.4.7.jar
  • развертывать Способ: local

Так же, Проверьте, содержит ли журнал задач выходные данные Pi is roughly 3.146015

  1. Проверьте искру на пряже

Spark on YARN (развертывать Способдля cluster или client) нуждаться Hadoop поддерживать. Похоже на: Spark поддерживать, поддерживать Hadoop Операция практически аналогична предыдущим шагам.

убеждаться HADOOP_HOME и HADOOP_CONF_DIR существовать

Как поддерживается Spark 3?

На самом деле, используйте spark-submit Подайте заявку таким же образом, Несмотря ни на что Spark 1, 2 или 3. другими словами,SPARK_HOME2 из-за семантики во-вторых SPARK_HOME, скорее, чем SPARK2 из HOME, поэтому Тольконастраивать SPARK_HOME2=/path/to/spark3 Вот и все

к Spark 3.1.1 дляпример:

  1. скачать Spark 3.1.1 Выпуск бинарного пакета spark-3.1.1-bin-hadoop2.7.tgz
  2. бегать dolphinscheduler (Посмотреть подробностиКак использовать образы докера)
  3. копировать Spark 3.1.1 двоичный пакет для Docker в контейнере
Язык кода:javascript
копировать
docker cp spark-3.1.1-bin-hadoop2.7.tgz docker-swarm_dolphinscheduler-worker_1:/opt/soft
  1. Войдите в контейнер и убедитесь SPARK_HOME2 существовать
Язык кода:javascript
копировать
docker exec -it docker-swarm_dolphinscheduler-worker_1 bash
компакт-диск /opt/soft
tar zxf spark-3.1.1-bin-hadoop2.7.tgz
rm -f искра-3.1.1-bin-hadoop2.7.tgz
ln -s spark-3.1.1-bin-hadoop2.7 spark2 # или ВОЗ mv
$SPARK_HOME2/bin/spark-submit --version

Если все выполнено правильно, последняя команда Воля напечатает Spark.

  1. существоватьодин Shell Миссия Внизпроверять Spark
Язык кода:javascript
копировать
$SPARK_HOME2/bin/spark-submit --class org.apache.spark.examples.SparkPi $SPARK_HOME2/examples/jars/spark-examples_2.12-3.1.1.jar

Проверьте, содержит ли журнал задач выходные данные Pi is roughly 3.146015

Как поддерживать общее хранилище между службами Master, Worker и Api?

Уведомление: Если дасуществовать проходит на одной машине docker-compose Развертывание, затем шаги 1 и 2 Вы можете пропустить его напрямую и выполнить команду, например docker cp hadoop-3.2.2.tar.gz docker-swarm_dolphinscheduler-worker_1:/opt/soft Воля Hadoop вставитьв общий каталог контейнера /opt/soft Вниз

Например, Master、Worker и Api Услугами можно пользоваться одновременно Hadoop

  1. Исправлять docker-compose.yml документсерединаиз dolphinscheduler-shared-local объем хранения, кподдержка nfs

если ты хочешь быть в Docker Swarm Развернуть на dolphinscheduler, вам нужно изменить docker-stack.yml

Язык кода:javascript
копировать
volumes:
  dolphinscheduler-shared-local:
    driver_opts:
      type: "nfs"
      o: "addr=10.40.0.199,nolock,soft,rw"
      device: ":/path/to/shared/dir"
  1. Воля Hadoop вставить nfs
  2. убеждаться HADOOP_HOME и HADOOP_CONF_DIR правильный

Как поддержать локальное хранилище файлов вместо HDFS и S3?

Уведомление: Если дасуществовать проходит на одной машине docker-compose Развертывание, затем шаги 2 Вы можете пропустить это напрямую

  1. Исправлять config.env.sh документсередина Внизлапшаизпеременные среды:
Язык кода:javascript
копировать
RESOURCE_STORAGE_TYPE=HDFS
FS_DEFAULT_FS=file:///
  1. Исправлять docker-compose.yml документсерединаиз dolphinscheduler-resource-local объем хранения, кподдержка nfs

если ты хочешь быть в Docker Swarm Развернуть на dolphinscheduler, вам нужно изменить docker-stack.yml

Язык кода:javascript
копировать
volumes:
  dolphinscheduler-resource-local:
    driver_opts:
      type: "nfs"
      o: "addr=10.40.0.199,nolock,soft,rw"
      device: ":/path/to/resource/dir"

Как поддержать хранилище ресурсов S3, такое как MinIO?

к MinIO дляпример: Исправлять config.env.sh документсередина Внизлапшаизпеременные среды

Язык кода:javascript
копировать
RESOURCE_STORAGE_TYPE=S3
RESOURCE_UPLOAD_PATH=/dolphinscheduler
FS_DEFAULT_FS=s3a://BUCKET_NAME
FS_S3A_ENDPOINT=http://MINIO_IP:9000
FS_S3A_ACCESS_KEY=MINIO_ACCESS_KEY
FS_S3A_SECRET_KEY=MINIO_SECRET_KEY

BUCKET_NAME, MINIO_IP, MINIO_ACCESS_KEY и MINIO_SECRET_KEY нуждатьсяодеяло Исправлятьдлядействительныйценить

Уведомление: MINIO_IP можно использовать только IP скорее, чемдоменное имя,потому чтодля DolphinScheduler Еще нетподдерживать S3 доступ к стилю пути (S3 path style access)

Как настроить SkyWalking?

Исправлять config.env.sh документсерединаиз SKYWALKING переменные среды

Язык кода:javascript
копировать
SKYWALKING_ENABLE=true
SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
SW_GRPC_LOG_SERVER_HOST=127.0.0.1
SW_GRPC_LOG_SERVER_PORT=11800

приложение-переменные среды

база данных

DATABASE_TYPE

КонфигурацияdatabaseизTYPE, значение по умолчанию postgresql

Уведомление: когдабегатьdolphinschedulerсерединаmaster-serverworker-serverapi-serveralert-serverЭти Служитьчас,Необходимо указать переменные среды.,Это упрощает построение распределенной системы.

DATABASE_DRIVER

КонфигурацияdatabaseизDRIVER, значение по умолчанию org.postgresql.Driver

Уведомление: когдабегатьdolphinschedulerсерединаmaster-serverworker-serverapi-serveralert-serverЭти Служитьчас,Необходимо указать переменные среды.,Это упрощает построение распределенной системы.

DATABASE_HOST

КонфигурацияdatabaseизHOST, значение по умолчанию 127.0.0.1

Уведомление: когдабегатьdolphinschedulerсерединаmaster-serverworker-serverapi-serveralert-serverЭти Служитьчас,Необходимо указать переменные среды.,Это упрощает построение распределенной системы.

DATABASE_PORT

КонфигурацияdatabaseизPORT, значение по умолчанию 5432

Уведомление: когдабегатьdolphinschedulerсерединаmaster-serverworker-serverapi-serveralert-serverЭти Служитьчас,Необходимо указать переменные среды.,Это упрощает построение распределенной системы.

DATABASE_USERNAME

КонфигурацияdatabaseизUSERNAME, значение по умолчанию root

Уведомление: когдабегатьdolphinschedulerсерединаmaster-serverworker-serverapi-serveralert-serverЭти Служитьчас,Необходимо указать переменные среды.,Это упрощает построение распределенной системы.

DATABASE_PASSWORD

КонфигурацияdatabaseизPASSWORD, значение по умолчанию root

Уведомление: когдабегатьdolphinschedulerсерединаmaster-serverworker-serverapi-serveralert-serverЭти Служитьчас,Необходимо указать переменные среды.,Это упрощает построение распределенной системы.

DATABASE_DATABASE

КонфигурацияdatabaseизDATABASE, значение по умолчанию dolphinscheduler

Уведомление: когдабегатьdolphinschedulerсерединаmaster-serverworker-serverapi-serveralert-serverЭти Служитьчас,Необходимо указать переменные среды.,Это упрощает построение распределенной системы.

DATABASE_PARAMS

КонфигурацияdatabaseизPARAMS, значение по умолчанию characterEncoding=utf8

Уведомление: когдабегатьdolphinschedulerсерединаmaster-serverworker-serverapi-serveralert-serverЭти Служитьчас,Необходимо указать переменные среды.,Это упрощает построение распределенной системы.

ZooKeeper

ZOOKEEPER_QUORUM

КонфигурацияdolphinschedulerизZookeeperадрес, значение по умолчанию 127.0.0.1:2181

Уведомление: когдабегатьdolphinschedulerсерединаmaster-serverworker-serverapi-serverЭти Служитьчас,Необходимо указать переменные среды.,Это упрощает построение распределенной системы.

ZOOKEEPER_ROOT

Конфигурацияdolphinschedulerсуществоватьzookeeperсерединахранение данныхизкорневой каталог,значение по умолчанию /dolphinscheduler

Универсальный

DOLPHINSCHEDULER_OPTS

Конфигурацияdolphinschedulerизjvm options,подходящийиспользуется дляmaster-serverworker-serverapi-serveralert-serverlogger-server,значение по умолчанию ""

DATA_BASEDIR_PATH

каталог данных пользователя,пользователь Собственный Конфигурация, Пожалуйста, предоставьте пользователю права на чтение и запись, а этот каталог существует. значение по умолчанию /tmp/dolphinscheduler

RESOURCE_STORAGE_TYPE

Конфигурацияdolphinschedulerиз Хранилище ресурсовдобрыйформа,Необязательныйэлементдля HDFSS3NONE,значение по умолчанию HDFS

RESOURCE_UPLOAD_PATH

КонфигурацияHDFS/S3начальствоиз Хранилище ресурсовпуть,значение по умолчанию /dolphinscheduler

FS_DEFAULT_FS

Настройте протокол хранения ресурсов издокументсистемы, например file:///, hdfs://mycluster:8020 or s3a://dolphinscheduler,значение по умолчанию file:///

FS_S3A_ENDPOINT

когдаRESOURCE_STORAGE_TYPE=S3час,нуждаться КонфигурацияS3изпуть доступа,значение по умолчанию s3.xxx.amazonaws.com

FS_S3A_ACCESS_KEY

когдаRESOURCE_STORAGE_TYPE=S3час,нуждаться КонфигурацияS3изs3 access key,значение по умолчанию xxxxxxx

FS_S3A_SECRET_KEY

когдаRESOURCE_STORAGE_TYPE=S3час,нуждаться КонфигурацияS3изs3 secret key,значение по умолчанию xxxxxxx

HADOOP_SECURITY_AUTHENTICATION_STARTUP_STATE

Конфигурацияdolphinschedulerда Нет включенияkerberos,значение по умолчанию false

JAVA_SECURITY_KRB5_CONF_PATH

Конфигурацияdolphinschedulerизjava.security.krb5.confпуть,значение по умолчанию /opt/krb5.conf

LOGIN_USER_KEYTAB_USERNAME

КонфигурацияdolphinschedulerАвторизоватьсяпользовательизkeytabпользовательимя,значение по умолчанию hdfs@HADOOP.COM

LOGIN_USER_KEYTAB_PATH

КонфигурацияdolphinschedulerАвторизоватьсяпользовательизkeytabпуть,значение по умолчанию /opt/hdfs.keytab

KERBEROS_EXPIRE_TIME

КонфигурацияdolphinschedulerизkerberosИстекшийчасмежду,Единица измерения в час,значение по умолчанию 2

HDFS_ROOT_USER

когдаRESOURCE_STORAGE_TYPE=HDFSчас,Конфигурацияdolphinschedulerизhdfsизrootпользовательимя,значение по умолчанию hdfs

RESOURCE_MANAGER_HTTPADDRESS_PORT

Конфигурацияdolphinschedulerизresource manager httpaddress порт,значение по умолчанию 8088

YARN_RESOURCEMANAGER_HA_RM_IDS

Конфигурацияdolphinschedulerизyarn resourcemanager ha rm ids,значение по умолчанию нулевой

YARN_APPLICATION_STATUS_ADDRESS

Конфигурацияdolphinschedulerизyarn application statusадрес,значение по умолчанию http://ds1:%s/ws/v1/cluster/apps/%s

SKYWALKING_ENABLE

Конфигурацияskywalkingда Нет включения. значение по умолчанию false

SW_AGENT_COLLECTOR_BACKEND_SERVICES

Конфигурацияskywalkingизcollectorназадконецадрес. значение по умолчанию 127.0.0.1:11800

SW_GRPC_LOG_SERVER_HOST

КонфигурацияskywalkingизgrpcСлужить ХозяинилиIP. значение по умолчанию 127.0.0.1

SW_GRPC_LOG_SERVER_PORT

КонфигурацияskywalkingизgrpcСлужитьпорт. значение по умолчанию 11800

HADOOP_HOME

КонфигурацияdolphinschedulerизHADOOP_HOME,значение по умолчанию /opt/soft/hadoop

HADOOP_CONF_DIR

КонфигурацияdolphinschedulerизHADOOP_CONF_DIR,значение по умолчанию /opt/soft/hadoop/etc/hadoop

SPARK_HOME1

КонфигурацияdolphinschedulerизSPARK_HOME1,значение по умолчанию /opt/soft/spark1

SPARK_HOME2

КонфигурацияdolphinschedulerизSPARK_HOME2,значение по умолчанию /opt/soft/spark2

PYTHON_HOME

КонфигурацияdolphinschedulerизPYTHON_HOME,значение по умолчанию /usr/bin/python

JAVA_HOME

КонфигурацияdolphinschedulerизJAVA_HOME,значение по умолчанию /usr/local/openjdk-8

HIVE_HOME

КонфигурацияdolphinschedulerизHIVE_HOME,значение по умолчанию /opt/soft/hive

FLINK_HOME

КонфигурацияdolphinschedulerизFLINK_HOME,значение по умолчанию /opt/soft/flink

DATAX_HOME

КонфигурацияdolphinschedulerизDATAX_HOME,значение по умолчанию /opt/soft/datax

Master Server

MASTER_SERVER_OPTS

Конфигурацияmaster-serverизjvm options,значение по умолчанию -Xms1g -Xmx1g -Xmn512m

MASTER_EXEC_THREADS

Конфигурацияmaster-serverсерединаиз Количество потоков выполнения,значение по умолчанию 100

MASTER_EXEC_TASK_NUM

Конфигурацияmaster-serverсерединаиз Количество задач,значение по умолчанию 20

MASTER_DISPATCH_TASK_NUM

Конфигурацияmaster-serverсерединаиз Количество отправленных задач,значение по умолчанию 3

MASTER_HOST_SELECTOR

Конфигурацияmaster-serverсерединаотправка задаччасworker селектор хоста,НеобязательныйценитьдляRandom, RoundRobinиLowerWeight,значение по умолчанию LowerWeight

MASTER_HEARTBEAT_INTERVAL

Конфигурацияmaster-serverсерединаизвзаимодействие с сердцебиениемчасмежду,значение по умолчанию 10

MASTER_TASK_COMMIT_RETRYTIMES

Конфигурацияmaster-serverсерединаиз Количество повторов отправки задач,значение по умолчанию 5

MASTER_TASK_COMMIT_INTERVAL

Конфигурацияmaster-serverсерединаиз Взаимодействие с отправкой задаччасмежду,значение по умолчанию 1

MASTER_MAX_CPULOAD_AVG

Конфигурацияmaster-serverсерединаизCPUсерединаизload averageценить,значение по умолчанию -1

MASTER_RESERVED_MEMORY

Конфигурацияmaster-serverизбронировать Память,Блок дляG,значение по умолчанию 0.3

Worker Server

WORKER_SERVER_OPTS

Конфигурацияworker-serverизjvm options,значение по умолчанию -Xms1g -Xmx1g -Xmn512m

WORKER_EXEC_THREADS

Конфигурацияworker-serverсерединаиз Количество потоков выполнения,значение по умолчанию 100

WORKER_HEARTBEAT_INTERVAL

Конфигурацияworker-serverсерединаизвзаимодействие с сердцебиениемчасмежду,значение по умолчанию 10

WORKER_MAX_CPULOAD_AVG

Конфигурацияworker-serverсерединаизCPUсерединаизмаксимумload averageценить,значение по умолчанию -1

WORKER_RESERVED_MEMORY

Конфигурацияworker-serverизбронировать Память,Блок дляG,значение по умолчанию 0.3

WORKER_GROUPS

Конфигурацияworker-serverиз Группа,значение по умолчанию default

Alert Server

ALERT_SERVER_OPTS

Конфигурацияalert-serverизjvm options,значение по умолчанию -Xms512m -Xmx512m -Xmn256m

XLS_FILE_PATH

Конфигурацияalert-serverизXLSдокументизхранилищепуть,значение по умолчанию /tmp/xls

MAIL_SERVER_HOST

Конфигурацияalert-serverизпочта Служитьадрес,значение по умолчанию нулевой

MAIL_SERVER_PORT

Конфигурацияalert-serverизпочта Служитьпорт,значение по умолчанию нулевой

MAIL_SENDER

Конфигурацияalert-serverизпочтаотправитель,значение по умолчанию нулевой

MAIL_USER=

Конфигурацияalert-serverизпочта Служитьпользовательимя,значение по умолчанию нулевой

MAIL_PASSWD

Конфигурацияalert-serverизпочта Служитьпользовательпароль,значение по умолчанию нулевой

MAIL_SMTP_STARTTLS_ENABLE

Конфигурацияalert-serverизпочта Служитьда Нет включенияTLS,значение по умолчанию true

MAIL_SMTP_SSL_ENABLE

Конфигурацияalert-serverизпочта Служитьда Нет включенияSSL,значение по умолчанию false

MAIL_SMTP_SSL_TRUST

Конфигурацияalert-serverизпочта СлужитьSSLиздоверятьадрес,значение по умолчанию нулевой

ENTERPRISE_WECHAT_ENABLE

Конфигурацияalert-serverизпочта Служитьда Нет включения Корпоративный WeChat,значение по умолчанию false

ENTERPRISE_WECHAT_CORP_ID

Конфигурацияalert-serverизпочта Служить Корпоративный WeChatID,значение по умолчанию нулевой

ENTERPRISE_WECHAT_SECRET

Конфигурацияalert-serverизпочта Служить Корпоративный WeChatSECRET,значение по умолчанию нулевой

ENTERPRISE_WECHAT_AGENT_ID

Конфигурацияalert-serverизпочта Служить Корпоративный WeChatAGENT_ID,значение по умолчанию нулевой

ENTERPRISE_WECHAT_USERS

Конфигурацияalert-serverизпочта Служить Корпоративный WeChatUSERS,значение по умолчанию нулевой

Api Server

API_SERVER_OPTS

Конфигурацияapi-serverизjvm options,значение по умолчанию -Xms512m -Xmx512m -Xmn256m

Logger Server

LOGGER_SERVER_OPTS

Конфигурацияlogger-serverизjvm options,значение по умолчанию -Xms512m -Xmx512m -Xmn256m

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose