
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, который соответствует версии вашей кластера улей:
- Резервное копирование существующих драйверов 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
- Загрузите правильные файлы 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:
- Резервное копирование существующих банок задач:
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
- Загрузите обновленные банки с исправленным синтаксисом 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 Исправить инструкции
- Отключить приводИзменить файлы конфигурации в:
apache-dolphinscheduler-3.2.0-bin/standalone-server/conf
- Отключить чванствоДобавить конфигурацию в:
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 Тестовый вывод
После исправления уязвимостей система безопасна для выпуска.
Оригинал