ARTICLE DETAIL

资讯详情

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

DolphinScheduler 数据源配置:元数据库与数据源中心一次配通的实操路径

DolphinScheduler 数据源配置:元数据库与数据源中心一次配通的实操路径 DolphinScheduler 数据源配置元数据库与数据源中心一次配通的实操路径【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinschedulerDolphinScheduler 数据源配置分两类一类是平台自身存储工作流定义、任务实例、用户权限的元数据库另一类是你的工作流任务读写业务数据的「数据源中心」数据源。如果你刚开始接触 DolphinScheduler最容易卡住的两个点就是生产环境还默认用 H2 当元数据库导致数据容易丢以及 SQL 任务连不上 MySQL 其实只是驱动没放对位置。读完这篇你能独立完成三件事把 Standalone 从 H2 切到 MySQL、为分布式部署初始化元数据库、在数据源中心创建能通过测试连接的数据源。先分清两类数据源维度元数据库数据源中心的数据源用途存工作流定义、任务实例、用户权限等平台元数据工作流任务SQL、数据同步等读写业务的数据库配置入口安装阶段环境变量 数据库初始化命令Web 界面数据源中心 → 创建数据源生效方式设置环境变量并初始化表结构后随服务启动生效测试连接通过并保存后即可被工作流引用支持类型MySQL、PostgreSQLStandalone 默认 H2MySQL、PostgreSQL、Oracle、SQL Server、Hive/Impala、Spark、ClickHouse 等这两者混在一起是最常见的误区驱动放错位置、环境变量配错对象。先对上表再动手。 元数据库Standalone 模式默认用 H2 作元数据库体验功能没问题但数据放在本地文件里服务重启容易丢多台机器也无法共享。你要上生产或者需要多个服务协作时就把它换成 MySQL 或 PostgreSQL。StandaloneH2 切换到 MySQL 的步骤下载mysql-connector-java驱动建议8.0.16放到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}启动standalone-server数据就持久化在 MySQL 里重启或停止服务不会清空数据。分布式部署创建 MySQL 数据库5.6/5.7 vs 8.0MySQL 两个大版本的建库语句一致区别只在建用户和授权语法。下面合并成一套 SQL注释标出差异替换{user}和{password}为实际值后执行CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; -- MySQL 5.6/5.7用 GRANT ... IDENTIFIED BY 一条语句直接建用户 -- GRANT ALL PRIVILEGES ON dolphinscheduler.* TO {user}% IDENTIFIED BY {password}; -- GRANT ALL PRIVILEGES ON dolphinscheduler.* TO {user}localhost IDENTIFIED BY {password}; -- MySQL 8.0先 CREATE USER再 GRANT 授权 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};再给pg_hba.conf追加一条访问规则并重载配置{ip}替换为 DS 集群所在服务器的 IP 地址段echo host dolphinscheduler {user} {ip} md5 $PGDATA/pg_hba.conf pg_ctl reload设置环境变量并初始化表结构按你选的数据库类型设置环境变量# 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}最后初始化表结构bash tools/bin/upgrade-schema.sh 数据源中心数据源中心支持 MySQL、PostgreSQL、Oracle、SQL Server、Hive/Impala、Spark、ClickHouse 等类型创建流程五步以内进入「数据源中心」页面点击「创建数据源」按钮选择数据源类型填写连接信息IP、端口、用户名、密码、库名等点击「测试连接」验证配置测试通过后保存数据源即可被工作流任务引用部分数据源要手动放 JDBC 驱动MySQL、Oracle、SQL Server 等数据源的 JDBC 驱动与 Apache LICENSE V2 不兼容官方发行包无法内置需要你自己放驱动三步完成下载从驱动官方仓库获取对应版本的 JDBC 驱动放置驱动文件放入api-server/libs和worker-server/libs两个目录重启重启api-server和worker-server服务生效版本提醒只在数据源中心把 MySQL 当业务数据源用时驱动版本没有特殊要求一旦把 MySQL 用作元数据库驱动必须8.0.16及以上版本——官方发行包仅支持该版本起用旧驱动元数据库起不来。✅ 上线前检查清单生产环境的元数据库已从 H2 切换为 MySQL 或 PostgreSQL确认重启不丢数据元数据库连接池参数已调优定期关注慢查询并做索引维护元数据库使用专用账号并限制权限连接启用 SSL/TLS且已纳入定期备份升级版本前先在测试环境验证 JDBC 驱动版本兼容性再应用到生产驱动文件已确认放在正确的libs目录且文件权限可读 常见故障速查现象可能原因排查动作数据源测试连接失败网络不通、账号无权限、驱动版本不兼容先检查服务到数据库的网络连通性再核对账号权限最后比对驱动版本驱动加载不到服务启动后数据源不可用驱动文件放错目录或文件权限不对确认放在api-server/libs、worker-server/libs检查文件权限翻启动日志找驱动加载信息元数据库读写变慢连接池偏小、慢查询、索引未维护监控数据库性能指标优化慢查询适当调大连接池下一步去数据源中心创建你的第一个数据源并测试连接具体类型的数据源参数细节查 官方数据源配置文档 和 Standalone 安装文档。【免费下载链接】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),仅供参考
返回列表