Apache DolphinScheduler 伪集群部署指南

Apache DolphinScheduler 伪集群部署指南

【免费下载链接】dolphinscheduler Dolphinscheduler是一个分布式调度系统,主要用于任务调度和流程编排。它的特点是易用性高、可扩展性强、性能稳定等。适用于任务调度和流程自动化场景。 【免费下载链接】dolphinscheduler 项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler

伪集群部署概述

Apache DolphinScheduler 伪集群部署是一种在单台机器上模拟分布式环境的部署方式。在这种模式下,Master Server、Worker Server、API Server 和 Alert Server 等核心组件都运行在同一台机器上。这种部署方式非常适合以下场景:

  1. 开发测试环境搭建
  2. 功能完整性和性能初步验证
  3. 小规模任务调度需求
  4. 学习和熟悉 DolphinScheduler 系统架构

与单机(Standalone)模式相比,伪集群部署能提供更完整的分布式特性体验;与完全分布式集群相比,它又大大降低了硬件要求和部署复杂度。

环境准备

硬件要求

  • 内存:建议至少 8GB
  • CPU:建议 4 核以上
  • 磁盘:建议 50GB 以上可用空间

软件依赖

  1. Java 环境

    • 版本要求:JDK 1.8 或 JDK 11
    • 配置要求:设置 JAVA_HOME 环境变量,并将 bin 目录加入 PATH
  2. 数据库支持(任选其一)

    • PostgreSQL 8.2.15+
    • MySQL 5.7+(需配套 JDBC Driver 8.0.33)
  3. 注册中心(任选其一)

    • ZooKeeper 3.8.0+
    • MySQL 8.0.33+
    • ETCD
  4. 进程树分析工具

    • macOS:安装 pstree
    • Linux(Fedora/RedHat/CentOS/Ubuntu/Debian):安装 psmisc

部署步骤详解

1. 获取安装包

建议从官方渠道获取最新稳定版本的二进制安装包。下载后解压到目标目录。

2. 插件依赖处理

从 3.3.0 版本开始,系统采用插件化架构,核心包不再包含所有插件。需要手动下载或通过脚本安装:

bash ./bin/install-plugins.sh 3.3.0

插件配置位于 conf/plugins_config 文件,可按需定制。例如仅保留 shell 任务插件:

--task-plugins--
dolphinscheduler-task-shell
--end--

3. 系统用户配置

创建专用部署用户并配置 sudo 权限:

# 创建用户
useradd dolphinscheduler

# 设置密码
echo "dolphinscheduler" | passwd --stdin dolphinscheduler

# 配置sudo免密
echo 'dolphinscheduler ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
sed -i 's/Defaults    requiretty/#Defaults    requiretty/g' /etc/sudoers

# 设置目录权限
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin
chmod -R 755 apache-dolphinscheduler-*-bin

重要说明:多租户任务执行依赖 sudo 权限切换用户,必须确保部署用户有无密码 sudo 权限。

4. 注册中心配置

如果选择 ZooKeeper 作为注册中心,需先完成 ZooKeeper 的安装和启动。

5. 配置文件修改

核心配置文件位于多个位置,需要统一协调配置:

主环境配置文件 bin/env/dolphinscheduler_env.sh
# Java环境
export JAVA_HOME=/opt/soft/java

# 数据库配置
export DATABASE=postgresql
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:postgresql://127.0.0.1:5432/dolphinscheduler"
export SPRING_DATASOURCE_USERNAME=ds_user
export SPRING_DATASOURCE_PASSWORD=ds_password

# 服务器配置
export SPRING_CACHE_TYPE=none
export SPRING_JACKSON_TIME_ZONE=Asia/Shanghai

# 注册中心
export REGISTRY_TYPE=zookeeper
export REGISTRY_ZOOKEEPER_CONNECT_STRING=localhost:2181

# 任务依赖
export HADOOP_HOME=/opt/soft/hadoop
export SPARK_HOME=/opt/soft/spark
export HIVE_HOME=/opt/soft/hive
export FLINK_HOME=/opt/soft/flink

# 路径设置
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$SPARK_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$PATH

配置优先级dolphinscheduler_env.sh 会覆盖各服务的 application.yaml 配置。

各服务配置文件
  • API Server: api-server/conf/application.yaml
  • Master Server: master-server/conf/application.yaml
  • Worker Server: worker-server/conf/application.yaml
  • Alert Server: alert-server/conf/application.yaml

6. 数据库初始化

根据选择的数据库类型执行初始化脚本,创建必要的数据库和表结构。

7. 服务启动

按顺序启动各组件:

# API服务
bash ./bin/dolphinscheduler-daemon.sh start api-server

# Master服务  
bash ./bin/dolphinscheduler-daemon.sh start master-server

# Worker服务
bash ./bin/dolphinscheduler-daemon.sh start worker-server

# Alert服务
bash ./bin/dolphinscheduler-daemon.sh start alert-server

启动后可通过以下命令检查服务状态:

bash ./bin/dolphinscheduler-daemon.sh status api-server
bash ./bin/dolphinscheduler-daemon.sh status master-server
bash ./bin/dolphinscheduler-daemon.sh status worker-server
bash ./bin/dolphinscheduler-daemon.sh status alert-server

系统访问

启动成功后,通过浏览器访问:

http://<服务器IP>:12345/dolphinscheduler/ui

默认管理员账号:admin/dolphinscheduler123

服务管理

启停单个服务

# 停止Master服务
bash ./bin/dolphinscheduler-daemon.sh stop master-server

# 启动Worker服务
bash ./bin/dolphinscheduler-daemon.sh start worker-server

注意事项

  1. Python Gateway 服务:默认与 API Server 一起启动,如需禁用可修改 api-server/conf/application.yaml

    python-gateway:
      enabled: false
    
  2. 资源中心:默认使用本地目录 /tmp/dolphinscheduler,可通过修改 conf/common.properties 调整。

  3. 日志查看:各组件日志位于对应服务的 logs 目录下,如 api-server/logs/

常见问题处理

  1. 服务启动失败

    • 检查 JAVA_HOME 配置是否正确
    • 检查数据库连接配置和权限
    • 查看对应服务的日志文件
  2. 任务执行问题

    • 确保部署用户有 sudo 权限且配置了免密
    • 检查任务依赖的外部环境(如 Hadoop、Spark 等)是否配置正确
  3. 性能问题

    • 单机部署时注意资源分配,避免内存不足
    • 根据任务量调整各服务的 JVM 参数

通过以上步骤,您应该已经成功完成了 Apache DolphinScheduler 的伪集群部署。这种部署方式既能体验分布式特性,又保持了部署的简便性,是开发和测试环境的理想选择。

【免费下载链接】dolphinscheduler Dolphinscheduler是一个分布式调度系统,主要用于任务调度和流程编排。它的特点是易用性高、可扩展性强、性能稳定等。适用于任务调度和流程自动化场景。 【免费下载链接】dolphinscheduler 项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler

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

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

抵扣说明:

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

余额充值