ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Apache DolphinScheduler 数据源配置实战手册

Apache DolphinScheduler 数据源配置实战手册 Apache DolphinScheduler 数据源配置实战手册【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler刚把 Apache DolphinScheduler 装到新环境第一件事就是配置数据源。但这里的数据源其实指向两个完全不同的东西混淆它们是配置失败的头号原因。先分清两个连接对象元数据库DolphinScheduler 自己的内部账本工作流定义、任务实例、用户权限都存在这里面官方支持 MySQL 和 PostgreSQL 两种。数据源中心你在页面上登记的要查的业务库清单供工作流里的 SQL 类任务使用。动手前先确认两件事你是单机部署还是集群部署元数据库想用 MySQL 还是 PostgreSQL下面按组合给出路径。单机模式接到公司现成的 MySQL场景你在本机装了 standalone 版试用默认走的是内置的 H2——一个基于文件的小型数据库演示够用但数据不落地、不适合长期使用。我们把它切到公司现成的 MySQL 上。放驱动。之所以要手动放是因为发行包里没有捆绑这个驱动。使用 MySQL 当元数据库时驱动必须是 8.0.16 及以上版本下载对应版本的 mysql-connector-java放到standalone-server/libs/standalone-server/目录。单机模式下所有组件装在同一个服务里这一个位置就够了。导出环境变量把{address}、{user}、{password}替换成你的连接信息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}⚠️ 生产环境建议把useSSLfalse改成启用 SSL 并带上相应证书参数避免连接明文传输。启动 standalone-server并登录控制台。✅ 判据之前创建的项目和工作流还在重启服务后数据不丢说明已经落在 MySQL 里了。集群部署先建库再建表集群部署时需要先在数据库里建好库和账号再跑脚本生成表结构。建库建账号MySQL 5.6/5.7 和 8.0 的写法有差异5.x 允许在 GRANT 时顺带指定密码8.0 必须先建用户再授权。MySQL 5.6/5.7CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; -- 把 {user}、{password} 换成实际值 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.0CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; -- 把 {user}、{password} 换成实际值 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;⚠️ 别直接用 root给调度系统单独建一个只授权dolphinscheduler.*的账号凭据泄露时影响面会小很多。✅ 用新账号执行mysql -u{user} -p能登录并看到库即建好。PostgreSQLCREATE DATABASE dolphinscheduler; -- 把 {user}、{password} 换成实际值 CREATE USER {user} PASSWORD {password}; ALTER DATABASE dolphinscheduler OWNER TO {user};PG 默认不放行远程登录还要补一条访问控制规则把{ip}换成 DS 集群所在服务器的网段echo host dolphinscheduler {user} {ip} md5 $PGDATA/pg_hba.conf pg_ctl reload✅ 在集群任一节点执行psql -U {user} -h {ip} -d dolphinscheduler能正常连入即放行成功。告诉服务怎么连按所选数据库导出对应的一组变量# MySQL export DATABASEmysql export SPRING_PROFILES_ACTIVE${DATABASE} export SPRING_DATASOURCE_URLjdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicodetruecharacterEncodingUTF-8useSSLfalse export SPRING_DATASOURCE_USERNAME{user} export SPRING_DATASOURCE_PASSWORD{password}# PostgreSQL export DATABASEpostgresql export SPRING_PROFILES_ACTIVE${DATABASE} export SPRING_DATASOURCE_URLjdbc:postgresql://127.0.0.1:5432/dolphinscheduler export SPRING_DATASOURCE_USERNAME{user} export SPRING_DATASOURCE_PASSWORD{password}选 MySQL 的话同样要把 8.0.16 的驱动分发到各服务模块的libs目录如api-server/libs、master-server/libs、worker-server/libs、tools/libs各节点都要放。跑一条脚本生成表结构bash tools/bin/upgrade-schema.sh这个脚本会读取上面那组SPRING_DATASOURCE_*变量自动连库建表并写入初始数据不需要手工写建表语句。✅ 脚本无异常退出后到库里确认t_ds_user等t_ds_前缀的表存在即初始化完成。在数据源中心登记业务库元数据库通了系统才能跑起来接着把真正要查询的业务库登记进数据源中心。它覆盖的范围包括关系型库MySQL、PostgreSQL、Oracle、SQL Server 等、大数据引擎Hive/Impala、Spark、分析型库ClickHouse等。进入数据源中心 → 创建数据源选择类型填写 IP、端口、账号等连接信息点击测试连接——只有测试通过才允许保存这是系统防止登记坏配置的一道闸测试通过后确认保存。测试连不上时按顺序排查先确认 worker 到目标库的网络和端口是否通再核对账号有没有该库的权限最后确认驱动是否到位见下节。各类型的字段细节可参考仓库内 docs/docs/zh/guide/datasource/ 下的对应文档。许可受限的数据源要手动放驱动MySQL、Oracle、SQL Server 等数据源的 JDBC 驱动与 Apache License V2 不兼容官方发行包无法内置所以要用这几类数据源得自己部署驱动从官方渠道下载对应版本的 JDBC 驱动 jar 包放入api-server/libs和worker-server/libs容器化部署则挂载到这两个服务的相同路径重启 api-server 和 worker-server 服务。✅ 两个服务重启后启动日志没有类加载异常即驱动就位。⚠️ 版本注意仅在数据源中心使用 MySQL 时驱动版本没有强制要求但把 MySQL 当元数据库时只支持 8.0.16 及以上。连通之后的几件事生产环境里建议按业务量调整元数据库的连接池参数开启数据库连接加密并为元数据库配置定期备份运行期间盯一下数据库的性能指标发现慢查询或连接数异常增长及时处理这些问题大多能在日常巡检里提前暴露。数据源就位后下一步不妨进一个项目新建一条 SQL 任务把它指向刚登记的 MySQL 数据源跑一次完整调度验证端到端链路。【免费下载链接】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),仅供参考
返回列表