Apache DolphinScheduler 数据源配置完全指南

Apache DolphinScheduler 数据源配置完全指南

前言

作为一款优秀的分布式工作流任务调度系统,Apache DolphinScheduler 的数据源配置是其核心功能之一。本文将全面介绍 DolphinScheduler 的数据源配置方法,包括元数据库的配置和使用各种数据源的详细步骤。

元数据库配置

Standalone 模式切换元数据库

在 Standalone 模式下,DolphinScheduler 默认使用嵌入式数据库。如果需要切换到外部数据库(如 MySQL),需按以下步骤操作:

  1. 驱动准备

    • 下载对应版本的 MySQL JDBC 驱动(推荐 8.0.16 及以上)
    • 将驱动文件放置到 standalone-server/libs/standalone-server/ 目录下
  2. 环境变量配置

    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} 替换为实际的数据库连接信息

  3. 启动服务

    • 配置完成后启动 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

使用步骤

  1. 进入"数据源中心"
  2. 点击"创建数据源"
  3. 选择数据源类型并填写连接信息
  4. 点击"测试连接"验证配置是否正确
  5. 测试通过后保存数据源

特殊数据源配置

对于部分与 Apache LICENSE V2 不兼容的数据源(如 MySQL、Oracle、SQL Server 等),需要手动配置 JDBC 驱动:

  1. 下载驱动:从官方渠道获取对应版本的 JDBC 驱动
  2. 放置驱动
    • 将驱动文件放入 api-server/libsworker-server/libs 目录
  3. 重启服务
    • 重启 api-server 和 worker-server 服务使配置生效

特别注意

  • 如果仅作为数据源使用,对驱动版本无特殊要求
  • 如果作为元数据库使用,MySQL 驱动必须使用 8.0.16 及以上版本

最佳实践建议

  1. 生产环境建议

    • 避免使用嵌入式数据库
    • 推荐使用 PostgreSQL 或 MySQL 作为元数据库
    • 为 DolphinScheduler 创建专用数据库账号并限制权限
  2. 性能优化

    • 对于频繁访问的数据源,可以配置连接池参数
    • 定期检查数据源连接状态
  3. 安全建议

    • 数据库密码应使用强密码
    • 限制数据库访问IP范围
    • 定期更换数据库密码

通过以上配置,DolphinScheduler 可以灵活地连接各种数据源,为工作流任务提供强大的数据支持能力。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

葛易曙Linda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值