任务调度大数据后端前端【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址https://gitcode.com/gh_mirrors/do/dolphinscheduler点击查看免费下载伪集群部署Pseudo-Cluster是 Apache DolphinScheduler 面向单机环境的经典部署形态在一台物理机上同时运行 master-server、worker-server、api-server、alert-server 四个核心服务即可体验接近生产集群的完整调度能力。本文基于 Apache DolphinScheduler 官方中文文档结合本仓库源码与配置文件完整讲解从环境准备、数据库初始化、配置修改到服务启停的每一步帮助你在一台机器上快速搭建一套可用于学习与中小规模任务验证的 DolphinScheduler 环境。读完本文你将掌握伪集群部署的全部操作细节并理解各配置文件背后的实现原理。一、伪集群部署是什么单机承载完整调度体系伪集群部署的目的是在单台机器上部署 DolphinScheduler 服务。该模式下master、worker、api server 全部运行在同一台机器上它们分别承担不同职责api-server提供 Web UI 与 REST API供用户创建项目、管理工作流、查看任务实例master-server负责任务的调度、分发与容错是调度中枢worker-server实际执行任务通过sudo -u {linux-user} -i切换不同 Linux 用户实现多租户运行alert-server负责告警通知的发送。与 Standalone 极速体验版 相比伪集群使用独立进程与外部注册中心、外部数据库功能更完整、可承载更大的任务量与 集群部署 和 kubernetes 相比伪集群只需一台机器适合体验完整功能和中小规模任务验证。官方文档给出的选型建议是新手体验推荐 Standalone想体验更完整的功能或更大的任务量推荐伪集群部署生产环境推荐集群部署或 Kubernetes。注意DolphinScheduler 本身不依赖 Hadoop、Hive、Spark但如果你的任务需要依赖它们就需要有对应的环境支持。二、前置准备工作外部依赖清单伪分布式部署 DolphinScheduler 需要以下外部软件支持依赖项版本要求说明JDK1.8 或 11安装并配置JAVA_HOME环境变量并将其下的bin目录追加到PATH环境变量环境中已存在可跳过二进制包最新发行版在官方下载页面下载 DolphinScheduler 二进制包数据库PostgreSQL8.2.15或 MySQL5.7二选一如使用 MySQL 则需要 JDBC Driver 8.0.33注册中心ZooKeeper3.8.0、MySQL8.0.33、ETCD 三选一当前版本默认注册中心为 zookeeper进程树分析工具—macOS 安装pstreeFedora/Red/Hat/CentOS/Ubuntu/Debian 安装psmisc注意DolphinScheduler 本身不依赖 Hadoop、Hive、Spark但如果你运行的任务需要依赖它们就需要有对应的环境支持。三、准备 DolphinScheduler 启动环境3.1 配置用户免密及权限由于任务执行服务是以sudo -u {linux-user} -i切换不同 Linux 用户的方式来实现多租户运行作业因此部署用户必须有 sudo 权限而且是免密的。以创建dolphinscheduler用户为例# 创建用户需使用 root 登录 useradd dolphinscheduler # 添加密码 echo dolphinscheduler | passwd --stdin dolphinscheduler # 配置 sudo 免密 sed -i $adolphinscheduler ALL(ALL) NOPASSWD: NOPASSWD: ALL /etc/sudoers sed -i s/Defaults requirett/#Defaults requirett/g /etc/sudoers # 修改目录权限使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限 chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin chmod -R 755 apache-dolphinscheduler-*-bin注意因为任务执行服务是以sudo -u {linux-user} -i切换不同 linux 用户的方式来实现多租户运行作业所以部署用户需要有 sudo 权限而且是免密的。初学习者不理解的话完全可以暂时忽略这一点。如果发现/etc/sudoers文件中有Defaults requirett这行也请注释掉。3.2 启动 ZooKeeper注册中心是伪集群中 master 与 worker 相互发现、协调的关键组件。进入 zookeeper 的安装目录将zoo_sample.cfg配置文件复制到conf/zoo.cfg并将conf/zoo.cfg中dataDir的值改成dataDir./tmp/zookeeper然后启动# 启动 zookeeper ./bin/zkServer.sh start从源码看ZooKeeper 注册中心的使用是可选插件化设计本仓库dolphinscheduler-registry/dolphinscheduler-registry-plugins/dolphinscheduler-registry-zookeeper提供了 ZK 注册实现dolphinscheduler-registry-jdbc则提供了 MySQL/PostgreSQL 作为注册中心的实现dolphinscheduler-registry-etcd提供 ETCD 支持三者通过dolphinscheduler-registry-all汇总接入用户可在dolphinscheduler_env.sh中通过REGISTRY_TYPE自由切换。四、修改相关配置完成基础环境准备后需要根据你的机器环境修改配置文件。配置文件位于以下位置bin/env/dolphinscheduler_env.shapi-server/conf/application.yamlmaster-server/conf/application.yamlworker-server/conf/application.yamlalert-server/conf/application.yaml4.1 修改dolphinscheduler_env.sh文件文件./bin/env/dolphinscheduler_env.sh描述了下列配置DolphinScheduler 的数据库配置详细配置方法见 数据源配置 的「伪分布式/分布式安装初始化数据库」一节一些任务类型外部依赖路径或库文件如JAVA_HOME和SPARK_HOME都是在这里定义的默认的注册中心是 zookeeper服务器相关配置如缓存类型、时区等。如果您不使用某些任务类型可以忽略任务外部依赖项但您必须根据您的环境更改JAVA_HOME、注册中心和数据库相关配置。示例配置如下# JAVA_HOME, will use it to start DolphinScheduler server export JAVA_HOME${JAVA_HOME:-/opt/soft/java} # Database related configuration, set database type, username and password export DATABASE${DATABASE:-postgresql} 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} # DolphinScheduler server related configuration export SPRING_CACHE_TYPE${SPRING_CACHE_TYPE:-none} export SPRING_JACKSON_TIME_ZONE${SPRING_JACKSON_TIME_ZONE:-UTC} # Registry center configuration, determines the type and link of the registry center export REGISTRY_TYPE${REGISTRY_TYPE:-zookeeper} export REGISTRY_ZOOKEEPER_CONNECT_STRING${REGISTRY_ZOOKEEPER_CONNECT_STRING:-localhost:2181} # Tasks related configurations, need to change the configuration if you use the related tasks. export HADOOP_HOME${HADOOP_HOME:-/opt/soft/hadoop} export HADOOP_CONF_DIR${HADOOP_CONF_DIR:-/opt/soft/hadoop/etc/hadoop} export SPARK_HOME${SPARK_HOME:-/opt/soft/spark} export PYTHON_LAUNCHER${PYTHON_LAUNCHER:-/opt/soft/python} export HIVE_HOME${HIVE_HOME:-/opt/soft/hive} export FLINK_HOME${FLINK_HOME:-/opt/soft/flink} export DATAX_LAUNCHER${DATAX_LAUNCHER:-/opt/soft/datax/bin/python3} export PATH$HADOOP_HOME/bin:$SPARK_HOME/bin:$PYTHON_LAUNCHER:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_LAUNCHER:$PATH关键配置项说明DATABASE元数据库类型可选postgresql或mysql同时通过SPRING_PROFILES_ACTIVE${DATABASE}激活对应 Spring profile驱动与 Quartz 委托类随之切换。从 api-server 配置文件 可以看出默认 profile 为postgresql其下配置了 PostgreSQL 驱动与PostgreSQLDelegate而mysqlprofile 则切换为com.mysql.cj.jdbc.Driver与StdJDBCDelegate。SPRING_DATASOURCE_URL / SPRING_DATASOURCE_USERNAME / SPRING_DATASOURCE_PASSWORD数据库连接信息对应 application.yaml 中的spring.datasource.url/username/password。SPRING_CACHE_TYPE缓存类型默认none。SPRING_JACKSON_TIME_ZONEJackson 序列化时区默认UTC与 api-server 配置 中spring.jackson.time-zone: UTC一致。REGISTRY_TYPE注册中心类型默认zookeeperREGISTRY_ZOOKEEPER_CONNECT_STRING为 ZK 连接串默认localhost:2181。任务外部依赖HADOOP_HOME、SPARK_HOME、PYTHON_LAUNCHER、HIVE_HOME、FLINK_HOME、DATAX_LAUNCHER等仅在使用对应任务类型时才需要配置所有值均写入PATH供任务执行时查找命令。注意 1如果您使用的是 MySQL 数据库需要将DATABASE设置为mysql并修改SPRING_DATASOURCE_URL、SPRING_DATASOURCE_USERNAME和SPRING_DATASOURCE_PASSWORD为您的数据库配置。注意 2dolphinscheduler_env.sh文件中的配置会覆盖各个服务的配置文件application.yaml中的配置所以如果您在 application.yaml 中配置了某个参数而且在dolphinscheduler_env.sh中也配置了那么以dolphinscheduler_env.sh中的配置为准。dolphinscheduler_env.sh里的配置项格式样例SPRING_DATASOURCE_URL对应 application.yaml 中的spring.datasource.url以此类推。4.2 关于 application.yaml 的补充说明在伪集群模式下各服务的application.yaml使用spring.profiles.active指定数据库 profile例如 master-server 配置 与 api-server 配置 默认均为postgresql。当你通过dolphinscheduler_env.sh设置DATABASEmysql时环境变量会覆盖该 profile 与连接参数。api-server 中server.port: 12345与context-path: /dolphinscheduler/共同决定了 Web UI 的访问地址形态http://localhost:12345/dolphinscheduler/ui而python-gateway.enabled控制 Python Gateway 是否随 api-server 启动默认false。五、初始化数据库请参考 数据源配置 的「伪分布式/分布式安装初始化数据库」一节创建并初始化数据库。MySQL 5.6/5.7 创建数据库与授权mysql -uroot -p mysql CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; # 修改 {user} 和 {password} 为你希望的用户名和密码 mysql GRANT ALL PRIVILEGES ON dolphinscheduler.* TO {user}% IDENTIFIED BY {password}; mysql GRANT ALL PRIVILEGES ON dolphinscheduler.* TO {user}localhost IDENTIFIED BY {password}; mysql flush privileges;MySQL 8 创建数据库与授权mysql -uroot -p mysql CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; # 修改 {user} 和 {password} 为你希望的用户名和密码 mysql CREATE USER {user}% IDENTIFIED BY {password}; mysql GRANT ALL PRIVILEGES ON dolphinscheduler.* TO {user}%; mysql CREATE USER {user}localhost IDENTIFIED BY {password}; mysql GRANT ALL PRIVILEGES ON dolphinscheduler.* TO {user}localhost; mysql FLUSH PRIVILEGES;PostgreSQL 创建数据库与授权# 采用命令行工具登陆 PostgreSQL psql # 创建数据库 postgres# CREATE DATABASE dolphinscheduler; # 修改 {user} 和 {password} 为你希望的用户名和密码 postgres# CREATE USER {user} PASSWORD {password}; postgres# ALTER DATABASE dolphinscheduler OWNER TO {user}; # 退出 PostgreSQL postgres#\q # 在终端执行如下命令向配置文件新增登陆权限并重载 PostgreSQL 配置替换 {ip} 为对应的 DS 集群服务器 IP 地址段 echo host dolphinscheduler {user} {ip} md5 $PGDATA/pg_hba.conf pg_ctl reload如果使用 MySQL 需要手动下载 mysql-connector-java 驱动8.0.16 及以上版本并移动到 DolphinScheduler 的每个模块的 libs 目录下其中包括api-server/libs、alert-server/libs、master-server/libs、worker-server/libs和tools/libs。如果你只是想要在数据源中心使用 MySQL对驱动版本没有要求但若将 MySQL 作为 DolphinScheduler 的元数据库则仅支持 8.0.16 及以上版本。完成上述步骤后通过以下 Shell 脚本初始化数据库该脚本位于tools/bin/upgrade-schema.sh由 dolphinscheduler-tools 模块提供会依据当前元数据库 schema 版本自动建表或升级bash tools/bin/upgrade-schema.sh六、启动 DolphinScheduler6.1 依次启动四个服务部署后的运行日志将存放在xxx-server/logs文件夹内。按顺序启动各服务# 启动 api-server bash ./bin/dolphinscheduler-daemon.sh start api-server # 启动 master-server bash ./bin/dolphinscheduler-daemon.sh start master-server # 启动 worker-server bash ./bin/dolphinscheduler-daemon.sh start worker-server # 启动 alert-server bash ./bin/dolphinscheduler-daemon.sh start alert-server注意第一次部署的话可以通过bash ./bin/dolphinscheduler-daemon.sh status xxx-server来进行服务状态查询。6.2 启动脚本的实现原理dolphinscheduler-daemon.sh仓库中的 script/dolphinscheduler-daemon.sh是伪集群与集群部署共用的服务管理脚本支持start|stop|status三种动作与api-server|master-server|worker-server|alert-server|standalone-server五种服务。其核心逻辑包括环境覆盖机制overwrite_server_env()函数会检查bin/env/dolphinscheduler_env.sh是否存在若存在则将其复制覆盖server/conf/dolphinscheduler_env.sh。这就是文档中以bin/env/dolphinscheduler_env.sh覆盖各服务配置减少用户修改成本的实现出处见 script/dolphinscheduler-daemon.sh。日志与 PID 管理日志统一输出到DOLPHINSCHEDULER_HOME/service/logs/service-hostname.outPID 文件存放在service/pidstatus命令通过读取 PID 文件并检查进程是否存在来判断运行状态RUNNING/STOP未运行状态以红色显示、运行中以绿色显示。优雅停止stop使用pkill -P停止进程树等待STOP_TIMEOUT默认 5 秒后仍未退出则用kill -9强制结束。启动命令最终以nohup /bin/bash $DOLPHINSCHEDULER_HOME/$command/bin/start.sh方式在后台拉起各服务并将进程号写入 PID 文件。七、登录 DolphinScheduler启动完成后浏览器访问地址 http://localhost:12345/dolphinscheduler/ui 即可登录系统 UI。默认的用户名和密码是admin/dolphinscheduler123。该地址由 api-server 的配置决定server.port: 12345与server.servlet.context-path: /dolphinscheduler/见 api-server 配置文件。登录后即可创建项目、上传资源、编排工作流并运行任务。八、启停服务伪集群模式下你可以独立启停每一个服务# 查询服务状态 bash ./bin/dolphinscheduler-daemon.sh status xxx-server # 启停 Master bash ./bin/dolphinscheduler-daemon.sh stop master-server bash ./bin/dolphinscheduler-daemon.sh start master-server # 启停 Worker bash ./bin/dolphinscheduler-daemon.sh start worker-server bash ./bin/dolphinscheduler-daemon.sh stop worker-server # 启停 Api bash ./bin/dolphinscheduler-daemon.sh start api-server bash ./bin/dolphinscheduler-daemon.sh stop api-server # 启停 Alert bash ./bin/dolphinscheduler-daemon.sh start alert-server bash ./bin/dolphinscheduler-daemon.sh stop alert-server注意 1每个服务在路径service/conf/dolphinscheduler_env.sh中都有dolphinscheduler_env.sh文件这是为微服务需求提供便利。意味着您可以基于不同的环境变量来启动各个服务只需要在对应服务中配置service/conf/dolphinscheduler_env.sh然后通过service/bin/start.sh命令启动即可。但是如果您使用命令./bin/dolphinscheduler-daemon.sh start service启动服务器它将会用文件bin/env/dolphinscheduler_env.sh覆盖service/conf/dolphinscheduler_env.sh然后启动服务目的是为了减少用户修改配置的成本这一覆盖逻辑的实现可见 script/dolphinscheduler-daemon.sh。注意 2服务用途请具体参见《系统架构设计》相关章节。Python gateway service 默认与 api-server 一起启动如果您不想启动 Python gateway service请通过更改 api-server 配置文件api-server/conf/application.yaml中的python-gateway.enabled : false来禁用它。注意 3DS 默认使用本地模式的目录/tmp/dolphinscheduler作为资源中心。如果需要修改资源中心目录请修改配置文件conf/common.properties中 resource 的相关配置项。仓库中 dolphinscheduler-common/src/main/resources/common.properties 给出了完整的配置样例data.basedir.path/tmp/dolphinscheduler定义了资源基础目录resource.storage.typeLOCAL表示本地存储同时还支持 OSS、GCS、ABS、OBS、HDFS、S3 等远端存储类型如resource.storage.typeS3时需配置s3a://形式的路径HDFS 开启 NameNode HA 时需将core-site.xml与hdfs-site.xml复制到 conf 目录。九、常见问题与排障思路服务状态查询第一次部署建议先用bash ./bin/dolphinscheduler-daemon.sh status xxx-server确认各服务是否成功启动status显示 STOP 时可检查service/logs/service-hostname.out日志文件定位启动失败原因。数据库连接失败确认dolphinscheduler_env.sh中DATABASE、SPRING_DATASOURCE_URL、用户名、密码与已初始化的数据库一致MySQL 场景务必确认各模块libs目录已放置 8.0.16 的 JDBC 驱动且元数据库字符集为 utf8。注册中心未连接确认 ZooKeeper 已启动./bin/zkServer.sh status且REGISTRY_ZOOKEEPER_CONNECT_STRING与 ZK 实际地址一致若切换为 MySQL/PostgreSQL 注册中心需正确设置REGISTRY_TYPE与对应连接参数。任务执行权限问题如果任务因权限失败检查部署用户是否已配置 sudo 免密、/etc/sudoers中Defaults requirett是否已注释以及apache-dolphinscheduler-*-bin目录属主与权限是否正确。十、下一步走向集群与生产伪集群模式验证通过后你可以参考以下文档继续深入Standalone 极速体验版单进程快速体验适合新手入门集群部署多机分布部署 master/worker支撑生产规模kubernetes 部署基于容器编排的生产级部署方式数据源配置元数据库与业务数据源的完整配置方法。伪集群模式的价值在于它以最接近生产架构的组件划分独立 master、worker、api、alert 进程在单机上复现了 DolphinScheduler 的核心调度链路是学习架构原理、调试插件、验证工作流的最佳实验场。赞分享任务调度大数据后端前端【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址https://gitcode.com/gh_mirrors/do/dolphinscheduler点击查看免费下载相关推荐Apache DolphinScheduler 伪集群部署完整指南单机部署 Master/Worker/API/Alert 四服务实战Apache DolphinScheduler 伪集群部署完整指南单机部署 Master/Worker/API/Alert 四服务实战 导读 伪集群Pseu任务调度大数据后端前端Apache DolphinScheduler 伪集群部署实战单机运行 Master、Worker 与 Api Server 的完整指南Apache DolphinScheduler 伪集群部署实战单机运行 Master、Worker 与 Api Server 的完整指南 伪集群部署Pseu任务调度数据编排工作流自动化后端大数据Apache DolphinScheduler 伪集群部署完整指南单机运行 Master、Worker 与 API ServerApache DolphinScheduler 伪集群部署完整指南单机运行 Master、Worker 与 API Server Apache Dolphin任务调度数据编排工作流自动化后端大数据创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
EDEM+FLUENT耦合接口编译工具2.2版:破解ABI兼容性黑匣子 简介:本资源是面向CFD与离散元耦合仿真工程师及高校科研人员的EDEM-FLUENT双向耦合接口编译工具包,专为解决颗粒-流体多物理场协同建模中的接口编译难题而设计。针对2.2版本适配需求,提供跨平台(Windows/Linux CentOS6/CentOS7&am… · 2026/9/23 17:24:43
STM32选型实战:从F1到H7,教你把芯片参数翻译成项目需求 从F1到H7,STM32的选型问题我几乎每周都要回答一遍。不管是微信私聊还是技术群里,总有人问“毕设用F103够不够”“做电机控制选哪个”“项目要跑神经网络是不是得上H7”。问得多了我发现一个规律:大多数人不是不会看数据手册,而是不… · 2026/9/23 17:24:37
C#联合Halcon匹配算法实战:从模板选型到工程落地避坑指南 简介:一套面向C#开发者的Halcon模板匹配算法示例工程,解决在.NET WinForms/WPF界面下快速集成机器视觉模板匹配的问题,适合有基础图像处理概念、需要上手Halcon与C#混合编程的工程师学习。资源共87个文件,核心包括C#源程序、窗体界… · 2026/9/23 17:24:37
编写式学习:结构化技能提升方法论与实践 1. 项目概述"Skills 编写学习"这个标题乍看简单,实则包含了一个职场人持续成长的核心方法论。作为在人力资源领域深耕十年的从业者,我见过太多人把技能学习停留在"知道"层面,而真正有效的技能掌握必须通过系统化的"… · 2026/9/23 18:00:53
5分钟吃透仓储管理论文高频面试题 5分钟吃透仓储管理论文高频面试题 别被那几百页的官方文档吓退,抓不住重点才是真痛点。 面试时考官问仓储逻辑,你只答了定义,直接出局。 今天把仓储管理论文里的 高频面试题 拆解透,代码加原理,直接拿分。 考点梳理:职责边界与学时陷阱… · 2026/9/23 18:00:53
CodeBurn Menubar(macOS)深度解析:用 Swift + SwiftUI 构建 AI 编码费用追踪的菜单栏应用 【免费下载链接】codeburn Free, local tool to track AI coding token usage and cost across 37 tools and agents (Claude Code, Cursor, Codex, Gemini and more), by model, project, and task. npx codeburn 项目地址: https://gitcode.com/gh_mirrors/co/cod… · 2026/9/23 18:00:53
外汇交易四大致命误区:重仓、摊平、追消息、频繁交易 做汇市这些年,我见过最多的不是翻仓神话,而是一条条资金曲线从陡峭上扬变成断崖下跌。很多人进场前都觉得自己能成为那个例外,结果只用了不到半年就把账户亏到只剩零头。回头看,这些亏损账户的死法高度一致,翻来覆去就… · 2026/9/23 18:00:53
Apache Arrow R 包表达式绑定开发实战:以 lubridate::mday() 为例的完整教程 数据工程大数据序列化数据分析 【免费下载链接】arrow Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing 项目地址: https://gitcode.com/gh_mirrors/arrow13/arrow 点击查看 免费下载 本教程源自 Apache Arr… · 2026/9/23 18:00:53
agentic-awesome-skills 异步 Python 模式实战:基于 asyncio 构建高性能非阻塞系统 AI 技能AI 插件 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400 agentic skills. Includes CLI, local MCP, catalog, … · 2026/9/23 18:00:46
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29