DolphinScheduler教程(01)- 入门(上)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: DolphinScheduler教程(01)- 入门(上)

声明:本文是《工作流任务调度系统:Apache DolphinScheduler》的阅读笔记,如有侵权,请联系本人删除!

1. 概述

Apache DolphinScheduler 官网地址:https://dolphinscheduler.apache.org/

Apache DolphinScheduler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用


DolphinScheduler提供了许多易于使用的功能,可加快数据ETL工作开发流程的效率。其主要特点如下:

  • 通过拖拽以DAG 图的方式将 Task 按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态;
  • 支持丰富的任务类型;
  • 支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill 任务等操作;
  • 支持工作流全局参数及节点自定义参数设置;
  • 支持集群HA,通过 Zookeeper实现 Master 集群和Worker集群去中心化;
  • 支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计;
  • 支持补数,并行或串行回填数据。

2. 系统架构

2.1 名词解释

  • 流程定义:通过拖拽任务节点并建立任务节点的关联所形成的可视化DAG
  • 流程实例:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成,流程定义每运行一次,产生一个流程实例;
  • 任务实例:任务实例是流程定义中任务节点的实例化,标识着具体的任务执行状态;
  • 任务类型: 目前支持有SHELLSQLSUB_PROCESS(子流程)、PROCEDUREMRSPARKPYTHONDEPENDENT(依赖),同时计划支持动态插件扩展,注意:其中子 SUB_PROCESS 也是一个单独的流程定义,是可以单独启动执行的;
  • 调度方式: 系统支持基于cron表达式的定时调度和手动调度。命令类型支持:启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、定时、重跑、暂停、停止、恢复等待线程。其中 恢复被容错的工作流 和 恢复等待线程 两种命令类型是由调度内部控制使用,外部无法调用
  • 定时调度:系统采用 quartz 分布式调度器,并同时支持cron表达式可视化的生成
  • 依赖:系统不单单支持 DAG 简单的前驱和后继节点之间的依赖,同时还提供任务依赖节点,支持流程间的自定义任务依赖
  • 优先级 :支持流程实例和任务实例的优先级,如果流程实例和任务实例的优先级不设置,则默认是先进先出
  • 邮件告警:支持 SQL任务 查询结果邮件发送,流程实例运行结果邮件告警及容错告警通知
  • 失败策略:对于并行运行的任务,如果有任务失败,提供两种失败策略处理方式,继续是指不管并行运行任务的状态,直到流程失败结束。结束是指一旦发现失败任务,则同时Kill掉正在运行的并行任务,流程失败结束
  • 补数:补历史数据,支持区间并行和串行两种补数方式

2.2 架构

架构详解可以参考官网文档https://dolphinscheduler.apache.org/zh-cn/blog/architecture-design.html

3. 部署

3.1 后端部署

后端有2种部署方式,分别为自动化部署和编译源码部署。下面主要介绍下载编译后的二进制包一键自动化部署的方式完成DolphinScheduler后端部署。

3.1.1 基础软件安装

软件 备注
Mysql (5.5+) 必装
JDK (1.8+) 必装
ZooKeeper(3.4.6+) 必装
Hadoop(2.6+) 选装, 如果需要使用到资源上传功能,MapReduce任务提交则需要配置Hadoop(上传的资源文件目前保存在Hdfs上)
Hive(1.2.1) 选装,hive任务提交需要安装
Spark(1.x,2.x) 选装,Spark任务提交需要安装
PostgreSQL(8.2.15+) 选装,PostgreSQL PostgreSQL存储过程需要安装

编译时,如果是编译源码

  • Node.js:必装
  • Maven:必装(最好 3.6 版本)

注意:EasyScheduler本身不依赖HadoopHiveSparkPostgreSQL,仅是会调用他们的Client,用于对应任务的运行。

3.1.2 创建部署用户

在所有需要部署调度的机器上创建部署用户(本次以node2node3节点为例),因为worker服务是以 sudo -u {linux-user} 方式来执行作业,所以部署用户需要有 sudo 权限,而且是免密的。

# 1 创建用户
useradd escheduler
# 2 设置 escheduler 用户密码
passwd escheduler
# 3 赋予sudo权限。编辑系统 sudoers 文件
# 如果没有编辑权限,以root用户登录,赋予w权限
# chmod 640 /etc/sudoers
vi /etc/sudoers
# 大概在100行,在root下添加如下
escheduler  ALL=(ALL)       NOPASSWD: ALL
# 并且需要注释掉 Default requiretty 一行。如果有则注释,没有没有跳过
#Default requiretty
########### end ############
# 4 切换到 escheduler 用户
su escheduler

3.1.3 下载并解压

# 1 创建安装目录
sudo mkdir /opt/DolphinScheduler
# 2 将DolphinScheduler赋予给escheduler用户
sudo chown -R escheduler:escheduler /opt/DolphinScheduler
# 3 下载后端。简称escheduler-backend
cd /opt/DolphinScheduler
wget https://github.com/apache/incubator-dolphinscheduler/releases/download/1.1.0/escheduler-1.1.0-backend.tar.gz
# 4 解压
mkdir escheduler-backend
mkdir escheduler
tar -zxf escheduler-1.1.0-backend.tar.gz -C escheduler
cd escheduler/
# 5 目录介绍
 [escheduler@node2 escheduler]$ tree -L 1
 .
 ├── bin           # 基础服务启动脚本
 ├── conf          # 项目配置文件
 ├── install.sh    # 一键部署脚本
 ├── lib           # 项目依赖jar包,包括各个模块jar和第三方jar
 ├── script        # 集群启动、停止和服务监控启停脚本
 └── sql           # 项目依赖sql文件
 5 directories, 1 file

3.1.4 针对escheduler用户ssh免密配置

# 1 配置SSH免密
# 1.1 node2 节点执行
#   有提示直接回车
ssh-keygen -t rsa
# 拷贝到node2和node3。提示输入密码时,输入 escheduler 用户的密码
ssh-copy-id -i ~/.ssh/id_rsa.pub escheduler@node2
ssh-copy-id -i ~/.ssh/id_rsa.pub escheduler@node3
# 1.2 node3 节点执行
#   有提示直接回车
ssh-keygen -t rsa
# 拷贝到node2和node3。提示输入密码时,输入 escheduler 用户的密码
ssh-copy-id -i ~/.ssh/id_rsa.pub escheduler@node2
ssh-copy-id -i ~/.ssh/id_rsa.pub escheduler@node3

3.1.5 数据库初始化

执行以下命令创建数据库和账号:

CREATE DATABASE escheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
-- 设置数据用户escheduler的访问密码为 escheduler,并且不对访问的ip做限制
-- 测试环境将访问设置为所有,如果是生产,可以限制只能子网段的ip才能访问('198.168.33.%')
GRANT ALL PRIVILEGES ON escheduler.* TO 'escheduler'@'%' IDENTIFIED BY 'escheduler';
flush privileges;

创建表和导入基础数据 修改vim /opt/DolphinScheduler/escheduler/conf/dao/data_source.properties中的下列属性

# 大概在第 4 行修改MySQL数据库的url
 spring.datasource.url=jdbc:mysql://node1:3306/escheduler?characterEncoding=UTF-8
# 用户名。
spring.datasource.username=escheduler
# 密码。填入上一步IDENTIFIED BY 后面设置的密码
spring.datasource.password=escheduler

执行创建表和导入基础数据脚本:

# 前面已进入/opt/DolphinScheduler/escheduler-backend目录下,然后执行数据初始化脚本
# 最后看到  create escheduler success 表示数据库初始化成功
sh ./script/create_escheduler.sh

3.1.6 修改部署目录权限及运行参数

# 1 修改conf/env/目录下的 .escheduler_env.sh 环境变量
vim conf/env/.escheduler_env.sh
# 将对应的修改为自己的组件或框架的路径
export HADOOP_HOME=/opt/hadoop-3.1.2
export HADOOP_CONF_DIR=/opt/hadoop-3.1.2/etc/hadoop
export SPARK_HOME1=/opt/spark-2.3.4-bin-hadoop2.7
#export SPARK_HOME2=/opt/soft/spark2
#export PYTHON_HOME=/opt/soft/python
export JAVA_HOME=/usr/local/zulu8/
export HIVE_HOME=/opt/apache-hive-3.1.1-bin
#export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
# ==========
# CDH 版
# ==========
#export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
#export HADOOP_CONF_DIR=/etc/hadoop/conf.cloudera.yarn
#export SPARK_HOME1=/opt/cloudera/parcels/CDH/lib/spark
##export SPARK_HOME2=/opt/soft/spark2
##export PYTHON_HOME=/opt/soft/python
#export JAVA_HOME=/usr/local/zulu8/
#export HIVE_HOME=/opt/cloudera/parcels/CDH/lib/hive
##export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
#export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH

修改 install.sh中的各参数,替换成自身业务所需的值,这里只列出了重要的修改项,其它默认不用改即可。

# mysql配置
# mysql 地址,端口
mysqlHost="192.168.33.3:3306"
# mysql 数据库名称
mysqlDb="escheduler"
# mysql 用户名
mysqlUserName="escheduler"
# mysql 密码
# 注意:如果有特殊字符,请用 \ 转移符进行转移
mysqlPassword="escheduler"
# conf/config/install_config.conf配置
# 注意:安装路径,不要当前路径(pwd)一样。一键部署脚本分发到其它节点时的安装路径
installPath="/opt/DolphinScheduler/escheduler-backend"
# 部署用户
# 注意:部署用户需要有sudo权限及操作hdfs的权限,如果开启hdfs,根目录需要自行创建
deployUser="escheduler"
# zk集群
zkQuorum="192.168.33.3:2181,192.168.33.6:2181,192.168.33.9:2181"
# 安装hosts
# 注意:安装调度的机器hostname列表,如果是伪分布式,则只需写一个伪分布式hostname即可
ips="192.168.33.6,192.168.33.9"
# conf/config/run_config.conf配置
# 运行Master的机器
# 注意:部署master的机器hostname列表
masters="192.168.33.6"
# 运行Worker的机器
# 注意:部署worker的机器hostname列表
workers="192.168.33.6,192.168.33.9"
# 运行Alert的机器
# 注意:部署alert server的机器hostname列表
alertServer="192.168.33.6"
# 运行Api的机器
# 注意:部署api server的机器hostname列表
apiServers="192.168.33.6"
# 用到邮箱发送邮件时务必配置上邮件服务,否则执行结果发送时会提示失败
# cn.escheduler.server.worker.runner.TaskScheduleThread:[249] - task escheduler # failure : send mail failed!
java.lang.RuntimeException: send mail failed!
# alert配置
# 邮件协议,默认是SMTP邮件协议
mailProtocol="SMTP"
# 邮件服务host。以网易邮箱为例。QQ邮箱的服务为 smtp.qq.com
mailServerHost="smtp.163.com"
# 邮件服务端口。SSL协议端口 465/994,非SSL协议端口 25
mailServerPort="465"
# 发送人。
# 网易邮箱在 客户端授权密码 获取,具体可以看下图
mailSender="*******yore@163.com"
# 发送人密码
mailPassword="yore***"
# 下载Excel路径
xlsFilePath="/home/escheduler/xls"
#是否启动监控自启动脚本
# 开关变量,在1.0.3版本中增加,控制是否启动自启动脚本(监控master,worker状态,如果掉线会自动启动) 
# 默认值为"false"表示不启动自启动脚本,如果需要启动改为"true"
monitorServerState="true"
# 资源中心上传选择存储方式:HDFS,S3,NONE
resUploadStartupType="HDFS"
# 如果resUploadStartupType为HDFS,defaultFS写namenode地址,支持HA,需要将core-site.xml和hdfs-site.xml放到conf目录下
# 如果是S3,则写S3地址,比如说:s3a://escheduler,注意,一定要创建根目录/escheduler
defaultFS="hdfs://192.168.33.3:8020"
# resourcemanager HA配置,如果是单resourcemanager,这里为yarnHaIps=""
yarnHaIps="192.168.33.3"
# 如果是单 resourcemanager,只需要配置一个主机名称,如果是resourcemanager HA,则默认配置就好
singleYarnIp="192.168.33.3"
# common 配置
# 程序路径
programPath="/opt/DolphinScheduler/escheduler-backend"
#下载路径
downloadPath="/tmp/escheduler/download"
# 任务执行路径
execPath="/tmp/escheduler/exec"
# SHELL环境变量路径
shellEnvPath="$installPath/conf/env/.escheduler_env.sh"
# 资源文件的后缀
resSuffixs="txt,log,sh,conf,cfg,py,java,sql,hql,xml"
# api 配置
# api 服务端口
apiServerPort="12345"

如果使用hdfs相关功能,需要拷贝hdfs-site.xmlcore-site.xml到conf目录下

cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml conf/
cp $HADOOP_HOME/etc/hadoop/core-site.xml conf/

如果 DolphinScheduler 已经安装,则可以通过设置部署的后端服务下的conf/alert.properties文件

#alert type is EMAIL/SMS
alert.type=EMAIL
# mail server configuration
mail.protocol=SMTP
# 以网易邮箱为例
mail.server.host=smtp.163.com
#  SSL协议端口 465/994,非SSL协议端口 25
mail.server.port=465
mail.sender=*******yore@163.com
mail.passwd=yore***
# TLS
mail.smtp.starttls.enable=false
# SSL
mail.smtp.ssl.enable=true
#xls.file.path=/home/escheduler/xls
xls.file.path=/home/escheduler/xls
# Enterprise WeChat configuration
enterprise.wechat.corp.id=xxxxxxxxxx
enterprise.wechat.secret=xxxxxxxxxx
enterprise.wechat.agent.id=xxxxxxxxxx
enterprise.wechat.users=xxxxx,xxxxx
enterprise.wechat.token.url=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpId&corpsecret=$secret
enterprise.wechat.push.url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$token
enterprise.wechat.team.send.msg={\"toparty\":\"$toParty\",\"agentid\":\"$agentId\",\"msgtype\":\"text\",\"text\":{\"content\":\"$msg\"},\"safe\":\"0\"}
enterprise.wechat.user.send.msg={\"touser\":\"$toUser\",\"agentid\":\"$agentId\",\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"$msg\"}}

3.1.7 执行脚本一键部署

# 1 一键部署并启动
sh install.sh
# 2 查看日志
[escheduler@node2 escheduler-backend]$ tree /opt/DolphinScheduler/escheduler-backend/logs
/opt/DolphinScheduler/escheduler-backend/logs
├── escheduler-alert.log
├── escheduler-alert-server-node-b.test.com.out
├── escheduler-alert-server.pid
├── escheduler-api-server-node-b.test.com.out
├── escheduler-api-server.log
├── escheduler-api-server.pid
├── escheduler-logger-server-node-b.test.com.out
├── escheduler-logger-server.pid
├── escheduler-master.log
├── escheduler-master-server-node-b.test.com.out
├── escheduler-master-server.pid
├── escheduler-worker.log
├── escheduler-worker-server-node-b.test.com.out
├── escheduler-worker-server.pid
└── {processDefinitionId}
    └── {processInstanceId}
        └── {taskInstanceId}.log
# 3 查看Java进程
# 3.1 node2
# jps -l | grep escheduler
[escheduler@node2 escheduler-backend]$ jps
31651 WorkerServer              # worker服务
31784 ApiApplicationServer      # api服务
31609 MasterServer              # master服务
31743 AlertServer               # alert服务
31695 LoggerServer              # logger服务
# 3.2 node3
[escheduler@cdh3 DolphinScheduler]$ jps
26678 WorkerServer
26718 LoggerServer

错误1:如果查看/opt/DolphinScheduler/escheduler-backend/logs/escheduler-api-server-*.out日志报如下错误

nohup: failed to run command ‘/bin/java’: No such file or directory

解决:将JAVA_HOME/bin下的java软连接到/bin下。(每个dolphinscheduler节点都执行)

ln -s $JAVA_HOME/bin/java /bin/java

3.1.8 后端服务进程的说明

由前面我们可以看到,后端服务正常启动后,共有 5 个进程:WorkerServerApiApplicationServerMasterServerAlertServerLoggerServer 。另外还有一个 UI,具体说明如下

服务 说明
MasterServer 主要负责 DAG 的切分和任务状态的监控
WorkerServer/LoggerServer 主要负责任务的提交、执行和任务状态的更新。LoggerServer用于Rest Api通过 RPC 查看日志
ApiServer 提供Rest Api服务,供UI进行调用
AlertServer 提供告警服务
UI 前端页面展示

3.1.9 dolphinscheduler后端服务启停

# 启动
/opt/DolphinScheduler/escheduler-backend/script/start_all.sh
# 停止
/opt/DolphinScheduler/escheduler-backend/script/stop_all.sh

3.2 前端部署

前端有3种部署方式,分别为自动化部署,手动部署和编译源码部署。这里主要使用自动化脚本方式部署DolphinScheduler前端服务。

3.2.1 下载并解压

# 1 下载 UI 前端。简称escheduler-ui
# 在node2节点下的 /opt/DolphinScheduler 
wget https://github.com/apache/incubator-dolphinscheduler/releases/download/1.1.0/escheduler-1.1.0-ui.tar.gz
# 2 解压
mkdir escheduler-ui
tar -zxf escheduler-1.1.0-ui.tar.gz -C escheduler-ui
cd escheduler-ui

3.2.2 执行自动化部署脚本

执行自动化部署脚本。脚本会提示一些参数,根据提示完成安装。

[escheduler@cdh2 escheduler-ui]$ sudo ./install-escheduler-ui.sh
欢迎使用easy scheduler前端部署脚本,目前前端部署脚本仅支持CentOS,Ubuntu
请在 escheduler-ui 目录下执行
linux
请输入nginx代理端口,不输入,则默认8888 :8888
请输入api server代理ip,必须输入,例如:192.168.xx.xx :192.168.33.6
请输入api server代理端口,不输入,则默认12345 :12345
=================================================
        1.CentOS6安装
        2.CentOS7安装
        3.Ubuntu安装
        4.退出
=================================================
请输入安装编号(1|2|3|4):2
…… 
Complete!
port option is needed for add
FirewallD is not running
setenforce: SELinux is disabled
请浏览器访问:http://192.168.33.6:8888

使用自动化部署脚本会检查系统环境是否安装了Nginx,如果没有安装则会通过网络自动下载Nginx包安装,通过引导设置后的Nginx配置文件为/etc/nginx/conf.d/escheduler.conf。但生产环境一般法法访问外网,此时可以通过手动离线安装Nginx,然后进行一些配置即可。

# 1 下载 Nginx 离线安装包
# 例如下载 Cento7 CPU指令为 x86版本的 
wget http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.17.6-1.el7.ngx.x86_64.rpm
# 2 安装
rpm -ivh nginx-1.17.6-1.el7.ngx.x86_64.rpm

下面再手动在Nginx中添加一个DolphinSchedule 服务配置。因为在 /etc/nginx/nginx.confNginx默认加载的配置文件)中有include /etc/nginx/conf.d/*.conf ;,所以我们可以在/etc/nginx/conf.d/下创建一个 conf后缀的配置文件,配置文件的文件名随意,例如叫 escheduler.conf。这里需要特别注意的是在 /etc/nginx/nginx.conf 配置文件中前面有一个配置 user nginx 如果启动Nginx的用户不是 nginx,一定要修改为启动Nginx的用户,否则代理的服务会报 403 的错误。

这里我们在/etc/nginx/conf.d/escheduler.conf配置如下内容,重点在 server 中配置 listenDolphinSchedule Web UI 的端口)、root (解压的escheduler-ui中的dist路径 )、proxy_pass DolphinSchedule后台接口的地址)等信息。

最后重启Nginx执行命令 systemctl restart nginx

server {
    listen       8888;  # 访问端口
    server_name  localhost;
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
    location / {
        root    /opt/DolphinScheduler/escheduler-ui/dist; # 上面前端解压的dist目录地址(自行修改)
        index  index.html index.html;
    }
    location /escheduler {
        proxy_pass http://192.168.33.6:12345; # 接口地址(自行修改)
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header x_real_ipP $remote_addr;
        proxy_set_header remote_addr $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_connect_timeout 4s;
        proxy_read_timeout 30s;
        proxy_send_timeout 12s;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    #error_page  404              /404.html;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

问题1:上传文件大小限制

  • 编辑配置文件 vim /etc/nginx/nginx.conf
# 更改上传大小
client_max_body_size 1024m
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
JSON Java 调度
DolphinScheduler教程(03)- 源码分析(三)
DolphinScheduler教程(03)- 源码分析(三)
533 0
|
分布式计算 关系型数据库 MySQL
DolphinScheduler安装部署
DolphinScheduler安装部署
1319 0
|
1月前
|
编解码 Linux iOS开发
openEuler系统下neofetch工具的安装与基本使用
【10月更文挑战第2天】openEuler系统下neofetch工具的安装与基本使用
55 0
openEuler系统下neofetch工具的安装与基本使用
|
3月前
|
分布式计算 Hadoop 关系型数据库
dolphinscheduler搭建
先根据伪集群来部署、部署中参考非伪集群 1、mysql数据库 mysql -h主机地址 -u用户名 -p 2、查看等 less:G、上下按键、ctrl+b、ctrl+f、q find / -iname '*mysql*' 更改目录所有者 chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin /usr/apache-dolphinscheduler-3.1.0-bin/tools/libs 里面也需要mysql驱动
70 1
|
SQL 监控 数据可视化
DolphinScheduler教程(02)- 系统架构设计(上)
DolphinScheduler教程(02)- 系统架构设计(上)
271 0
DolphinScheduler教程(02)- 系统架构设计(上)
|
4月前
|
存储 关系型数据库 Java
极速体验DolphinScheduler 3.2.1 Standalone 版[一]
极速体验DolphinScheduler 3.2.1 Standalone 版[一]
62 0
|
6月前
|
存储 NoSQL Java
APScheduler简介
APScheduler简介
70 0
|
6月前
|
数据可视化 数据处理 Apache
初窥Apache DolphinScheduler
初窥Apache DolphinScheduler
102 0
|
6月前
|
数据可视化 Linux 调度
DolphinScheduler【部署 01】分布式可视化工作流任务调度工具DolphinScheduler部署使用实例分享(一篇入门学会使用DolphinScheduler)
DolphinScheduler【部署 01】分布式可视化工作流任务调度工具DolphinScheduler部署使用实例分享(一篇入门学会使用DolphinScheduler)
757 0
|
SQL 分布式计算 Shell
DolphinScheduler教程(01)- 入门(下)
DolphinScheduler教程(01)- 入门(下)
486 0