Apache DolphinScheduler 数据源配置完全指南
前言
作为一款优秀的分布式工作流任务调度系统,Apache DolphinScheduler 的数据源配置是其核心功能之一。本文将全面介绍 DolphinScheduler 的数据源配置方法,包括元数据库的配置和使用各种数据源的详细步骤。
元数据库配置
Standalone 模式切换元数据库
在 Standalone 模式下,DolphinScheduler 默认使用嵌入式数据库。如果需要切换到外部数据库(如 MySQL),需按以下步骤操作:
-
驱动准备:
- 下载对应版本的 MySQL JDBC 驱动(推荐 8.0.16 及以上)
- 将驱动文件放置到
standalone-server/libs/standalone-server/
目录下
-
环境变量配置:
export DATABASE=mysql export SPRING_PROFILES_ACTIVE=${DATABASE} export SPRING_DATASOURCE_URL="jdbc:mysql://{address}/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false" export SPRING_DATASOURCE_USERNAME={user} export SPRING_DATASOURCE_PASSWORD={password}
将
{address}
,{user}
和{password}
替换为实际的数据库连接信息 -
启动服务:
- 配置完成后启动 standalone-server,系统将自动使用配置的 MySQL 数据库存储元数据
伪分布式/分布式安装初始化数据库
对于伪分布式或分布式部署,需要先初始化元数据库。DolphinScheduler 支持 MySQL 和 PostgreSQL 作为元数据库。
MySQL 数据库初始化
MySQL 5.6/5.7 版本:
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
FLUSH PRIVILEGES;
MySQL 8.0 版本:
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE USER '{user}'@'%' IDENTIFIED BY '{password}';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%';
CREATE USER '{user}'@'localhost' IDENTIFIED BY '{password}';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost';
FLUSH PRIVILEGES;
PostgreSQL 数据库初始化
CREATE DATABASE dolphinscheduler;
CREATE USER {user} PASSWORD {password};
ALTER DATABASE dolphinscheduler OWNER TO {user};
配置访问权限:
echo "host dolphinscheduler {user} {ip} md5" >> $PGDATA/pg_hba.conf
pg_ctl reload
环境变量配置
MySQL 环境变量:
export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false"
export SPRING_DATASOURCE_USERNAME={user}
export SPRING_DATASOURCE_PASSWORD={password}
PostgreSQL 环境变量:
export DATABASE=postgresql
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:postgresql://127.0.0.1:5432/dolphinscheduler"
export SPRING_DATASOURCE_USERNAME={user}
export SPRING_DATASOURCE_PASSWORD={password}
初始化数据库
bash tools/bin/upgrade-schema.sh
数据源中心配置
DolphinScheduler 的数据源中心支持多种数据源类型,包括但不限于:
- MySQL
- PostgreSQL
- HIVE/IMPALA
- SPARK
- CLICKHOUSE
- ORACLE
- SQLSERVER
使用步骤
- 进入"数据源中心"
- 点击"创建数据源"
- 选择数据源类型并填写连接信息
- 点击"测试连接"验证配置是否正确
- 测试通过后保存数据源
特殊数据源配置
对于部分与 Apache LICENSE V2 不兼容的数据源(如 MySQL、Oracle、SQL Server 等),需要手动配置 JDBC 驱动:
- 下载驱动:从官方渠道获取对应版本的 JDBC 驱动
- 放置驱动:
- 将驱动文件放入
api-server/libs
和worker-server/libs
目录
- 将驱动文件放入
- 重启服务:
- 重启 api-server 和 worker-server 服务使配置生效
特别注意:
- 如果仅作为数据源使用,对驱动版本无特殊要求
- 如果作为元数据库使用,MySQL 驱动必须使用 8.0.16 及以上版本
最佳实践建议
-
生产环境建议:
- 避免使用嵌入式数据库
- 推荐使用 PostgreSQL 或 MySQL 作为元数据库
- 为 DolphinScheduler 创建专用数据库账号并限制权限
-
性能优化:
- 对于频繁访问的数据源,可以配置连接池参数
- 定期检查数据源连接状态
-
安全建议:
- 数据库密码应使用强密码
- 限制数据库访问IP范围
- 定期更换数据库密码
通过以上配置,DolphinScheduler 可以灵活地连接各种数据源,为工作流任务提供强大的数据支持能力。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考