一、DolphinScheduler部署
DolphinScheduler支持多种部署模式,包括单机模式(Standalone)、伪集群模式(Pseudo-Cluster)、集群模式(Cluster)等。
DS是一个大型的,专业的调度工具,非常的耗内存。
CentOS 6.x和7.x 命令有所变化 7.x systemctl restart 服务名
6.x service mysql restart等
Unbantu 或者 redhat 命令也不一样。
如果是集群的话(至少 8G+3G+3G),如果是单台的(10G+)
1.1单机模式(自己玩的话,推荐使用本地模式,伪分布模式和集群模式非常吃内存)
单机模式下,所有的服务器集中于一个StandaloneServer进程种,并且内置了Zookeeper和H2数据库,只需要配置jdk就可以一键启动
配置链接:
https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/guide/installation/standalone.html
下载安装包,然后上传虚拟机。
注意单机模式下的调度器,解压就可以直接使用
tar -zxvf apache-dolphinscheduler-3.1.8-bin.tar.gz
直接再上传的路径下解压,然后就可以直接启动单机模式
如何启动和关闭单机版:
# 启动 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
# 停止 Standalone Server 服务
bash ./bin/dolphinscheduler-daemon.sh stop standalone-server
# 查看 Standalone Server 状态
bash ./bin/dolphinscheduler-daemon.sh status standalone-server
再启动调度器后,就可以直接通过web界面访问
访问链接
访问地址:http://bigdata01:12345/dolphinscheduler
账号和密码: admin dolphinscheduler123
账号和密码是默认密码,进去之后,可以选择自己更改密码
可以刚改成自己的密码。
我们这里不使用自带的H2数据库,我们这里用mysql数据库(注意这里是指的虚拟机的mysql数据库),但是需要配置一下才能使用mysql数据库,再mysql数据上创建一个dolphinscheduler库。
这里需要更改密码(也可以不改,改密码是为了更好的链接)
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
创建用户[非必须的]
假如你想创建,会遇到密码太简单的问题:
如果提示密码等级过低:
#mysql8
set global validate_password.policy=LOW;
set global validate_password.length=4;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0;
set global validate_password.special_char_count=0;
创建新用户:
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
FLUSH PRIVILEGES;
然后需要再虚拟机上配置环境,直接再虚拟机黑窗口上输入一下代码,可以直接配置
export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=dolphinscheduler
export SPRING_DATASOURCE_URL="jdbc:mysql://bigdata01:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
export SPRING_DATASOURCE_USERNAME=dolphinscheduler
export SPRING_DATASOURCE_PASSWORD=123456
配置好环境变量后,需要初始化数据库,这样数据库才能有初始数据
bash tools/bin/upgrade-schema.sh
需要修改配置文件,修改配置文件:/opt/modules/ds/apache-dolphinscheduler-3.1.8-bin/standalone-server/conf(这里的位置就是安装包解压的位置),修改application.yaml的配置
修改 DolphinScheduler 的配置
在 DolphinScheduler 的安装目录下找到 conf/application.yaml 文件。
将其中关于数据库连接的部分修改为指向你的 MySQL 实例,包括用户名、密码、数据库名等信息。以下是修改后的示例:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://bigdata01:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
username: dolphinscheduler
password: 123456
然后在启动单机服务,这时的单机才能存储记录,如果没有配置mysql的话,每次退出调度器后数据就会丢失。
1.2 伪集群模式
伪集群模式(Pseudo-Cluster)是在单台机器部署 DolphinScheduler 各项服务,该模式下master、worker、api server、logger server等服务都只在同一台机器上。Zookeeper和数据库需单独安装并进行相应配置。
配置链接:
1.3集群模式
集群模式(Cluster)与伪集群模式的区别就是在多台机器部署 DolphinScheduler各项服务,并且可以配置多个Master及多个Worker。(配置看官方文档)
二、使用DS
2.1上传文件(此处要开启hdfs,上传文件是上穿到hdfs上边)
第一次上传会出现这种情况,此时需要更改配置文件
这个软件下面有很多的服务,将每一个服务下的common.properties中的内容全部修改一遍
修改standalone-server下的common.properties
resource.storage.type=HDFS
resource.storage.upload.base.path=/dolphinscheduler
resource.hdfs.fs.defaultFS=hdfs://bigdata01:9820
修改hdfs的权限:
hdfs dfs -chmod -R 777 /
然后重启单机服务,然后进入web界面创建用户和租户
2.2创建项目
授权项目
2.3安全中心
创建worker(工作worker的节点)
创建警告实例(可以为后续,项目结束,报错发送通知)
添加组内成员
然后授权用户
2.4执行DS任务
点击进入项目
定义任务
创建项目流程
然后设置节点
设置任务内容
这里可以传递参数
然后上线运行
此时任务实例会触发
查看log文件
2.5定时任务
故名思意,定时开启任务
设置定时任务
编辑定时脚本
外部传递参数’
保存后,运行会上传到hdfs文件上边
2.6通知警报
DS默认支持两种告警:邮件和SMS(短信),短信这个功能有点Bug,可以演示邮件
DS是一个任务调度工具,任务执行很慢,所以我们不需要一个告警通知,不管是成功还是失败,都需要第一时间通知我。
联想到Azkaban 里面有 邮箱、电话、钉钉
这里是授权码
指定任务可以开启警报任务
开启后可以收到报警信息