简介
分布式易扩展的可视化工作流任务调度平台
架构
安装
前提条件
sudo yum install -y psmisc
开始安装
安装包下载
链接:https://pan.baidu.com/s/16xYYsBxDwDGwT1N9RtWckA
提取码:yyds
--来自百度网盘超级会员V4的分享
解压
tar -zxvf apache-dolphinscheduler-2.0.5-bin.tar.gz
集群规划
master | master,work |
node1 | work |
node2 | work |
创建元数据库
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY
'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler' @'%';
flush privileges;
配置一键部署脚本
vi /home/bigdata/newsoft/apache-dolphinscheduler-2.0.5-bin/conf/config/install_config.conf
要修改的配置
# 将要部署任一 DolphinScheduler 服务的服务器主机名或 ip 列表,就要那些机器分发这些安装包
ips="master,node1,node2"
# master 所在主机名列表,必须是 ips 的子集
masters=master"
# worker 主机名及队列,此处的 ip 必须在 ips 列表中,default是worker的不同分组
workers="master:default,node1:default,node2:default"
# 告警服务所在服务器主机名
alertServer="master"
# api 服务所在服务器主机名
apiServers="master"
# 不需要的配置项,可以保留默认值,也可以用 # 注释,可以用python代码操作工作流
# pythonGatewayServers="ds1"
# DS 安装路径,如果不存在会创建
installPath="/home/bigdata/newsoft/module"
# 部署用户,任务执行服务是以 sudo -u {linux-user} 切换不同 Linux 用户的方式来实现多租户运行作业,因此该用户必须有免密的 sudo 权限。
deployUser="bigdata"
# JAVA_HOME 路径
javaHome="/home/bigdata/java/jdk"
# 数据库类型
DATABASE_TYPE="mysql"
# 数据库 URL
SPRING_DATASOURCE_URL="jdbc:mysql://master:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8"
# 数据库用户名
SPRING_DATASOURCE_USERNAME="dolphinscheduler"
# 数据库密码
SPRING_DATASOURCE_PASSWORD="dolphinscheduler"
# 注册中心插件名称,DS 通过注册中心来确保集群配置的一致性
registryPluginName="zookeeper"
# 注册中心地址,即 Zookeeper 集群的地址
registryServers="master:2181,node1:2181,node2:2181"
# DS 在 Zookeeper 的结点名称
registryNamespace="dolphinscheduler"
# resourceStorageType="HDFS"
# 资源存储类型,根据自己的需求配置
resourceStorageType="NONE"
# 资源上传路径
resourceUploadPath="/dolphinscheduler"
# 默认文件系统
defaultFS="hdfs://mycluster:8020"
# yarn RM http 访问端口
resourceManagerHttpAddressPort="8088"
# Yarn RM 高可用 ip,若未启用 RM 高可用,则将该值置空
yarnHaIps=
# Yarn RM 主机名,若启用了 HA 或未启用 RM,保留默认值
singleYarnIp="yarnIp1"
# 拥有 HDFS 根目录操作权限的用户
hdfsRootUser="hdfs"
初始化元数据库
参照官方文档
拷贝mysql驱动到lib目录下面
cp mysql-connector-java-8.0.16.jar /home/bigdata/newsoft/apache-dolphinscheduler-2.0.5-bin/lib
修改配置文件
vi bin/env/dolphinscheduler_env.sh
export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_USERNAME=dolphinscheduler
export SPRING_DATASOURCE_PASSWORD=dolphinscheduler
export SPRING_DATASOURCE_URL="jdbc:mysql://master:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false"
启动初始化脚本
./create-dolphinscheduler.sh
启动zk集群
执行一键部署脚本
安装成功
访问
http://master:12345/dolphinscheduler/ui/view/login/index.html
初始用户的用户名为: admin ,密码为 dolphinscheduler123
使用
安全中心
项目管理
基础版
先创建一个租户用户操作命令
创建一个海豚调度器的用户对应linux上面用户租户
使用刚才创建的用户操作工作流
创建一个项目
创建一个工作流
注意如果master的内存不足那么是运行不了实例的,他会显示成功,但是实例查看不到,提高内存就行了
可以看到任务是在worker组里面随机的执行的
定时运行
创建以后还是下线的状态,也就是还没有运行。
可以看到上线以后开始运行了 (不用点运行,上线以后自动运行)
工作流传参
本地传参&全局传参
本地参数作用域就是一个任务实例,全局参数是工作流实例。也就是对于所有的任务实例有效。
下面是本地参数(本地参数要比全局参数优先级高)
执行效果
下面是全局参数
上游给下游传参
DolphinScheduler
支持上游任务节点向下游任务节点传参。目前支持这个特性的任务类
型有:
Shell
、
SQL
、
Procedure。
上游例子:

注:echo '${setValue(key=value)}'为固定写法 。
下游例子:
内置参数
参考官方文档
资源中心
创建资源
UDF主要是Hive使用
要开启hdfs才能使用
引用资源的方式
告警通知
参考官网