Dolphinscheduler 3.2.0 Руководство по установке и устранение неполадок глубокого погружения

Dolphinscheduler 3.2.0 Руководство по установке и устранение неполадок глубокого погружения

6 июня 2025 г.

АвторПРИМЕЧАНИЕ. Хотя этот тест подтверждает, что развертывание одного узла 3.2.0 полностью функционально, сообщество по-прежнему рекомендует версию 3.1.9 для использования производства из-за его более высокой стабильности.)

Общий обзор

От стратегии настройки и развертывания окружающей среды до пошаговой установки и устранения неисправностей общих проблем, это руководство завершается кратким отчетом о тестировании. Структура проиллюстрирована на диаграмме ниже:

I. Среда развертывания

  • Java версия: 1.8.0_181
  • Операционная система: выпуск Centos Linux 7.6.1810
  • MySQL версия: 5.7.22-22-log
  • MySQL Driver Версия: 8.0.16

II Информация о версии

  • Dolphinscheduler Версия: 3.2.0
  • Примечание. Эта версия поддерживает больше внутренних баз данных (например, Dameng), удовлетворение потребностей локализации.
  • Скачать:Dolphinscheduler 3.2.0 Скачать

Iii. План развертывания

  • Использование: Платформа, используемая для мониторинга и оповещения о качестве данных; Нет высокого спроса
  • Тип развертывания: один узел
  • Хранение данных: внешний MySQL для настойчивости

IV Шаги развертывания

4.1 Загрузить и извлечь пакет развертывания

tar -xvzf apache-dolphinscheduler-3.2.0-bin.tar.gz

4.2 Создание внешней базы данных

Создайте новый экземпляр базы данных и пользователь, предоставив пользователю полные привилегии.

Примечание: замените{user}и{password}с вашими реальными учетными данными MySQL.

mysql -uroot -p
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
mysql> FLUSH PRIVILEGES;

4.3 Изменить конфигурацию базы данных метаданных

Настройте базу данных метаданных для использования MySQL для настойчивости. Измените следующий файл:

Путь:./apache-dolphinscheduler-3.2.0-bin/bin/env/dolphinscheduler_env.sh

Примечание. Обновите IP -адрес, порт, базу данных имени пользователя и пароль.

ВАЖНО: DOнетизменять${DATABASE}Полем

export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://xxx.xxx.xxx.xxx:23306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
export SPRING_DATASOURCE_USERNAME=dolphinscheduler
export SPRING_DATASOURCE_PASSWORD=xxxxxxxxx

4.4 Загрузить драйвер MySQL

Загрузите драйвер в следующие каталоги:

../apache-dolphinscheduler-3.2.0-bin/standalone-server/libs/standalone-server  
../apache-dolphinscheduler-3.2.0-bin/api-server/libs  
../apache-dolphinscheduler-3.2.0-bin/alert-server/libs  
../apache-dolphinscheduler-3.2.0-bin/master-server/libs  
../apache-dolphinscheduler-3.2.0-bin/tools/libs  
../apache-dolphinscheduler-3.2.0-bin/worker-server/libs  

4.5 Инициализировать внешнюю базу данных

sh ../apache-dolphinscheduler-3.2.0-bin/tools/bin/upgrade-schema.sh

4.6. Службы запуска и остановки

Запустить один узел:

sh ../apache-dolphinscheduler-3.2.0-bin/bin/dolphinscheduler-daemon.sh start standalone-server

Статус проверки:

sh ../apache-dolphinscheduler-3.2.0-bin/bin/dolphinscheduler-daemon.sh status standalone-server

Остановите один узел:

sh ../apache-dolphinscheduler-3.2.0-bin/bin/dolphinscheduler-daemon.sh stop standalone-server

4.7 Access Web UI

Access URL:http://xxx.xx.xx.xxx:12345/dolphinschedulerУчетные данные по умолчанию:admin/dolphinscheduler123


V. Общие проблемы и исправления

5.1 Время несоответствие

  • Проблема: Время создания задачи на пользовательском интерфейсе отличается от фактического системного времени.
  • Исправить: После входа в систему переключите часовой пояс на «Азию/Шанхай» в верхнем правом меню. В противном случае, время создания задач/обновления появятся неверными.

5.2 Аномальное прекращение

  • Проблема: Еслиstandalone-serverЗаканчивается ненормально (например, высокая нагрузка, ручное убийство), перезапуск может оставить много задач в «беге» состоянии, которые нельзя удалить.
  • Исправить 1: Сначала в автономном режиме определения рабочего процесса, а затем перезагрузитеstandalone-serverПолем Проблема вызвана ранее представленными будущими планами планирования, которые будут выполнены снова после перезапуска, что привело к тупику. Это временный обходной путь.
  • Исправить 2: Если первое исправление не работает, попробуйте очистить данные вt_ds_task_instance(записи экземпляра задачи) иt_ds_process_instance(Записи экземпляра рабочего процесса) таблицы или удаление определенных строк.

5.3 Чрезмерные журналы

  • Проблема: Большие файлы журнала генерируются во время выполнения.
  • Исправить: Журналы дляstandalone-serverхранятся подstandalone-server/logsкаталог. Установите автоматические сценарии, чтобы периодически чистить их.

5.4 Отказ подключения к улей в центре источника данных

  • Проблема: Сообщение об ошибке во время регистрации:

    Required field ‘client_protocol’ is unset! Struct: TOpenSessionReq(client_pro
    
  • Анализ: Вызвано несоответствием версий между jdbc Dolphinscheduler и вашим HDP Hive.

  • Исправить: Замените драйвер JDBC, который соответствует версии вашей кластера улей:

  1. Резервное копирование существующих драйверов JDBC:
mv ../apache-dolphinscheduler-3.2.0-bin/api-server/libs/hive-jdbc-2.3.9.jar ../apache-dolphinscheduler-3.2.0-bin/api-server/libs/hive-jdbc-2.3.9.jar.bak  
mv ../apache-dolphinscheduler-3.2.0-bin/worker-server/libs/hive-jdbc-2.3.9.jar ../apache-dolphinscheduler-3.2.0-bin/worker-server/libs/hive-jdbc-2.3.9.jar.bak
  1. Загрузите правильные файлы jdbc jdbc на приведенные выше пути.

5.5 SQL Script с использованием Hive UDFS

  • Проблема: Ошибка при использовании задачи SQL Script с зарегистрированным Hive UDF:

    [ERROR] 2024-02-23 15:36:07.355 +0800 - execute sql error: Error while compiling statement: FAILED: ParseException line 1:18 missing KW_VIEW at ‘temporary’ near ‘replace’ in table name
    
  • Анализ: Улей не поддерживаетCREATE OR REPLACE TEMPORARY FUNCTIONПолем

  • Исправить: Изменить грамматику SQL в исходном коде и замените файлы JAR:

  1. Резервное копирование существующих банок задач:
mv ../apache-dolphinscheduler-3.2.0-bin/api-server/libs/dolphinscheduler-task-sql-3.2.0.jar ../apache-dolphinscheduler-3.2.0-bin/api-server/libs/dolphinscheduler-task-sql-3.2.0.jar.bak  
mv ../apache-dolphinscheduler-3.2.0-bin/worker-server/libs/dolphinscheduler-task-sql-3.2.0.jar ../apache-dolphinscheduler-3.2.0-bin/worker-server/libs/dolphinscheduler-task-sql-3.2.0.jar.bak  
mv ../apache-dolphinscheduler-3.2.0-bin/master-server/libs/dolphinscheduler-task-sql-3.2.0.jar ../apache-dolphinscheduler-3.2.0-bin/master-server/libs/dolphinscheduler-task-sql-3.2.0.jar.bak
  1. Загрузите обновленные банки с исправленным синтаксисом SQL.

VI Отчет о тестировании

6.1 Резюме теста

Текущий выпуск: 3.2.0 Функциональные, совместимость и тесты безопасности были завершены и пройдены. Готов к выпуску.

Нет.

Описание функциональности

Результат

Примечания

1

Определение рабочего процесса - конфигурация качества данных

✅ прошло

2

Экземпляр рабочего процесса

✅ прошло

3

Планирование рабочего процесса

✅ прошло

4

Определение задачи

✅ прошло

5

Экземпляр задачи

✅ прошло

6

UDF Management

✅ прошло

7

Управление группой задач

✅ прошло

8

Результаты качества данных

✅ прошло

9

Управление правилами качества

✅ прошло

10

Центр источника данных

✅ прошло

11

Управление экземплярами предупреждения

✅ прошло

12

Управление группой оповещения

✅ прошло

6.2 Совместимость и оценка производительности

Среда

Результат

Java: 1.8.0_181, OS: Centos Linux 7.6.1810, MySQL: 5.7.22, драйвер: 8.0.16

✅ прошло

6.3 Метрики производительности

Сценарий

Имя

Метрическое описание

Фактический результат

Вердикт

1

Пропускная способность

Задачи, обработанные за единицу времени

100 задач выполняются параллельно, завершены за 5 минут

✅ прошло

2

Время ответа

Время от подачи до исполнения

Проверка качества данных завершена в течение 1 минуты

✅ прошло

3

Одновременные пользователи

Одновременные активные пользователи

10 одновременных пользователей поддержали

✅ прошло

4

Использование процессора

Использование процессора во время выполнения

<5% при простаивании

✅ прошло

5

Использование памяти

Использование памяти во время выполнения

<5% при простаивании

✅ прошло

6.4 Метрики и оценка безопасности

6.4.1 Тестовые показатели

Имя уязвимости

Привод Spring Boot. Несанкционированный доступ

Уровень риска

Высокий

Описание уязвимости

Привод - это набор функций мониторинга и управления, предоставляемых Spring Boot для систем приложений. Он может просмотреть подробную информацию о конфигурациях приложений, таких как автоматическая информация о конфигурации, создание информации о пружинных бобах, конфигурации переменных системной среды и подробную информацию о веб -запросах. При использовании неправильно или из -за некоторых непреднамеренных контролей, это может вызвать серьезные риски безопасности, такие как утечка информации. При открытии интерфейса Env или Jolokia это может привести к уязвимости удаленного выполнения кода в соответствии с конкретными конфигурациями.

Ссылка уязвимости

http://172.30.10.153:12345/dolphinscheduler/ui

Параметры уязвимости

["ПОЛУЧАТЬ", "http://172.30.10.153:12345/dolphinscheduler/ui"," ","http://172.30.10.153:12345/dolphinscheduler/actuator/metrics"," "," "," "]

Подробности суждения

http://172.30.10.153:12345/dolphinscheduler/ui

Решение

Введите зависимость от Spring-Boot-Starter-Security и добавить аутентификацию безопасности: <Dependency> <groupid> org.springframework.boot </GroupId> <StrifactId> Spring-Boot-Starter-Security </artifactId> </degypect>

6.4.2 Исправить инструкции

  1. Отключить приводИзменить файлы конфигурации в:apache-dolphinscheduler-3.2.0-bin/standalone-server/conf
  2. Отключить чванствоДобавить конфигурацию в:apache-dolphinscheduler-3.2.0-bin/standalone-server/conf
  • Проверить привод отключен: доступ кhttp://${ip}:12345/dolphinscheduler/actuator/metricsничего не должен вернуть.
  • Проверка Swagger отключена: доступ кhttp://${ip}:12345/dolphinscheduler/swagger-ui/index.htmlничего не должен вернуть.

6.4.3 Тестовый вывод

После исправления уязвимостей система безопасна для выпуска.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE