资讯动态

Apache DolphinScheduler 数据源配置完整指南:从元数据库到 JDBC 驱动一次讲清

发布时间:2026/8/24 22:02:24 来源:尧图企业网站定制
Apache DolphinScheduler 数据源配置完整指南从元数据库到 JDBC 驱动一次讲清【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinschedulerApache DolphinScheduler 是一款分布式、可视化的工作流调度系统你在页面上画出的工作流会被拆解成真正跑在集群里的任务。它的数据源配置其实分两个完全不同的层面先配系统自己用的库元数据库再配业务任务要连的库数据源中心。这两件事混着做一定会踩坑。先分清元数据库与数据源中心干的不是同一件事第一次接触的人最容易把这两者搞混。先说结论元数据库是调度系统自己的账本——工作流定义、任务实例、用户权限都存在这里数据源中心是你业务任务的连接簿——SQL 任务、数据同步任务要读写哪个库在这里登记。元数据库数据源中心用途存工作流定义、任务实例、用户权限等系统元数据存业务库的连接信息供任务运行时取用谁来连只有调度系统自身SQL、数据同步等业务任务配在哪环境变量 / 集群配置服务启动前完成UI 的数据源中心菜单服务启动后操作典型类型MySQL、PostgreSQL、H2Hive、Spark、ClickHouse、Oracle、SQL Server 等下面按你的实际动作分三个场景讲单机先跑通、生产落地元数据库、最后在数据源中心接业务库。场景 A把 Standalone 从 H2 切到 MySQL单机快速跑通Standalone 是 DolphinScheduler 的单机部署形态——所有角色打在一个进程里开箱即用但默认元数据库是 H2一个内嵌文件库数据写在本机文件里。你只是想先跑起来看看H2 没问题但H2 只适合试用不要带进生产。最小步骤三步走下载 mysql-connector-java 驱动建议 8.0.16放到standalone-server/libs/standalone-server/目录下。导出下面 5 个环境变量前 4 个告诉 Spring 用哪套 profile、连哪个库最后一个是密码。export DATABASEmysql export SPRING_PROFILES_ACTIVE${DATABASE} export SPRING_DATASOURCE_URLjdbc:mysql://{address}/dolphinscheduler?useUnicodetruecharacterEncodingUTF-8useSSLfalse export SPRING_DATASOURCE_USERNAME{user} export SPRING_DATASOURCE_PASSWORD{password}{address}替换为你的 MySQL 地址如127.0.0.1:3306{user}/{password}替换为数据库账号和密码${DATABASE}直接复用上一行的mysql不用改。启动 standalone-server。此时工作流、用户等数据直接写进 MySQL重启服务不再丢数据。场景 B为生产环境建库授权初始化元数据库表结构选型一句话生产环境用 MySQL 或 PostgreSQL不要用 H2。不同数据库的建库授权差异看这张表就够了MySQL 两个版本的CREATE DATABASE语句完全相同差异都在授权环节对比项MySQL 5.6/5.7MySQL 8.0PostgreSQL授权写法直接GRANT ... IDENTIFIED BY {password}一步到位先CREATE USER再GRANT不再在 GRANT 里带密码CREATE USER {user} PASSWORD {password}ALTER DATABASE ... OWNER TO额外步骤无无向pg_hba.conf追加一行host dolphinscheduler {user} {ip} md5再执行pg_ctl reload生效以 MySQL 8.0 为例建库 授权的完整脚本如下PostgreSQL 的等价写法是CREATE DATABASE dolphinscheduler; 建用户 改属主再按上表处理pg_hba.confCREATE 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;{user}/{password}替换为你的专用账号和密码%允许任意来源连接内网环境可改成具体网段收紧。库建好后用环境变量告诉各服务角色去哪找这个库。MySQL 和 PostgreSQL 两套配置只有 URL 和 profile 名不同对照填即可环境变量MySQLPostgreSQLDATABASEmysqlpostgresqlSPRING_PROFILES_ACTIVE${DATABASE}${DATABASE}SPRING_DATASOURCE_URLjdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicodetruecharacterEncodingUTF-8useSSLfalsejdbc:postgresql://127.0.0.1:5432/dolphinschedulerSPRING_DATASOURCE_USERNAME{user}{user}SPRING_DATASOURCE_PASSWORD{password}{password}最后一步初始化或升级元数据表结构只跑一次bash tools/bin/upgrade-schema.sh执行后系统会自动把全部元数据表建出来并对旧版本做结构升级。元数据库里会落下的核心表关系长这样场景 C在数据源中心接入业务数据源的 5 步支持的数据源类型一行列完关系型MySQL、PostgreSQL、Oracle、SQL Server、大数据Hive/Impala、Spark、分析型ClickHouse更多类型见 UI 下拉列表。操作压成 5 步照做即可进入左侧菜单数据源中心。点击创建数据源。选择类型填写主机、端口、账号、密码类型不同表单略有差异如 Spark 要填 JDBC URL 和主键分区列。点测试连接必须看到成功提示。保存。此后任何任务引用这个数据源 ID 即可。⚠️驱动坑务必看部分数据源的 JDBC 驱动Java 读写数据库用的 jar 包如 MySQL、Oracle、SQL Server因与 Apache LICENSE V2 不兼容没有随系统一起分发。你需要自行下载对应驱动 jar放进api-server/libs和worker-server/libs两个目录然后重启这两个服务才生效——只放一处、或放完不重启都会表现为测试连接成功、任务跑的时候才报错。另外如果你用 MySQL 做元数据库驱动版本必须 ≥ 8.0.16。上线前自查4 个维度逐条过生产选型元数据库用的是 MySQL 或 PostgreSQL生产环境没有残留 H2连接池与性能连接池大小、超时按实际负载调过定期对元数据库做索引维护、统计信息更新安全与备份元数据库用专用最小权限账号开启 SSL/TLS 连接加密已纳入定期备份版本兼容JDBC 驱动版本与当前系统版本核对过并先在测试环境完整验证一轮出问题先看这里踩坑速查现象先查什么常见原因连接测试失败网络连通性 → 账号权限端口被防火墙拦、账号对目标库无权限、地址/库名写错驱动加载异常驱动 jar 位置 → 服务启动日志jar 没放全api-server / worker-server 两处都要、文件不可读、元数据库用了低版本 MySQL 驱动性能不达预期慢查询 → 连接池指标元数据库缺索引、连接池过小、大结果集任务压垮库配完之后用一个最小任务验证全链路配置完成后建议先用一个最小的数据同步任务一条简单 SQL 任务即可把元数据库 → 调度 → 数据源中心 → 业务库整条链路跑通确认日志无异常再逐步接入生产工作流。哪一步卡住回上面踩坑速查表对号入座。【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价