海豚调度器(DolphinScheduler)单机模式的部署与使用

一、概述

1、什么是DolphinScheduler  

Apache DolphinScheduler (下面简称DS) 是一个为企业级应用场景设计的开源任务调度系统,它提供了分布式的、可扩展的并且易于使用的可视化界面,让用户能够高效地管理和调度复杂的工作流任务,覆盖从任务创建到监控的全生命周期数据处理流程。它旨在通过其基于有向无环图(DAG)的任务编排能力,解决大数据任务中复杂的依赖关系和ETL流程监控难题,它不仅能够实现实时的任务状态监控,还提供了包括任务重试、失败恢复、暂停及终止等一系列操作,以增强数据研发流程的可靠性和效率。

  DAG --有向无环图,有顺序,但是不会形成环的图表。

 2、特性

2.1 使用简单

Apache DolphinScheduler 提供了一个简单易用的可视化界面,用户可以通过拖拽操作轻松定义和管理复杂的工作流;

2.2使用场景丰富

它支持多种任务类型,包括 Shell、MR、Spark、SQL 等超过十种任务类型,并且具有跨语言的兼容性和良好的扩展性;

2.3、丰富的工作流操作

系统内置了丰富的操作选项,如定时、暂停、恢复和停止工作流等功能,方便用户进行全局和局部的参数控制;

2.4、高可靠性

DolphinScheduler 还采用了去中心化的高可靠性设计,支持原生 HA 和过载容错,确保了系统的稳定运行;

2.5、高扩展性

对多租户和在线资源管理的支持,使其能够应对大规模的数据任务需求,展示出卓越的高扩展性。

3、DS架构

 

DolphinScheduler的主要角色如下:

MasterServer采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分、任务提交、任务监控,并同时监听其它MasterServer和WorkerServer的健康状态。
WorkerServer也采用分布式无中心设计理念,WorkerServer主要负责任务的执行和提供日志服务。
ZooKeeper服务,系统中的MasterServer和WorkerServer节点都通过ZooKeeper来进行集群管理和容错。
Alert服务,提供告警相关服务。
API接口层,主要负责处理前端UI层的请求。
UI,系统的前端页面,提供系统的各种可视化操作界面。 

 二、DS的部署说明

1、操作系统要求

操作系统版本
Red Hat Enterprise Linux7.0 及以上
CentOS7.0 及以上
Oracle Enterprise Linux7.0 及以上
Ubuntu LTS16.04 及以上

2、网络要求

组件默认端口说明
MasterServer5678非通信端口,只需本机端口不冲突即可
WorkerServer1234非通信端口,只需本机端口不冲突即可
ApiApplicationServer12345提供后端通信端口

3、服务器建议配置

CPU内存硬盘类型网络实例数量
4核+8 GB+SAS千兆网卡1+

三、搭建单机版DS

1、上传解压

推荐使用新版本的DS:
apache-dolphinscheduler-3.1.8-bin

没有的翻我第一篇文章去我的百度网盘上下载

tar -zxvf  xxx.tar.gz  -C /opt/installs/

xxx是你的压缩包名字   

-C的意思是解压到后面的文件夹下,没有的要么创建,要么解压到本目录下,即-C以及后面的都不要带

 2、上传mysql驱动包

到这五个模块的lib下

api-server/libs
alert-server/libs
master-server/libs
worker-server/libs
tools/libs

没有这个驱动包的也去我百度网盘上拿

3、创建数据库

使用 MySQL 对 DolphinScheduler 的元数据进行管理,不使用默认的数据库 H2。

连接你部署DS的虚拟机的mysql,在这个mysql下创建

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

4、创建新用户(非必需)

假如你想创建,会遇到密码太简单的问题:
如果提示密码等级过低:
#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;

 

还是在那个mysql下操作。

5、数据库配置信息

最好在 "apache-dolphinscheduler-3.1.8-bin/bin" 下运行:

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

6、初始化数据库

bash tools/bin/upgrade-schema.sh 

7、修改配置文件

在  apache-dolphinscheduler-3.1.8-bin/standalone-server/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

8、启动

注意: Standalone 仅建议 20 个以下工作流使用,因为其采用内存式的 H2 Database, Zookeeper Testing Server,任务过多可能导致不稳定,并且如果重启或者停止 standalone-server 会导致内存中数据库里的数据清空。 

如何启动和关闭单机版:
# 启动 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

 

四、登录DS

1、访问地址及账号密码

访问地址:http://bigdata01:12345/dolphinscheduler/ui
账号和密码:  admin  dolphinscheduler123

2、安全中心

安全中心只有管理员账户才有权限操作,其中包括 Yarn 队列管理、租户管理、用户管理、告警组管理、worker 分组管理、令牌管理等功能,在用户管理模块可以对资源、数据源、项目等授权

3、租户管理

租户管理允许管理员配置和管理不同租户的权限和资源使用情况。

租户是 DolphinScheduler 中的一个概念,其实就是对应着 Linux 系统的一个用户,代表着一个独立的业务单位或用户组。

点击创建租户,加入linux系统的一个用户

4、用户管理

用户管理模块允许管理员创建、编辑和删除用户账户,并配置用户的访问权限。通过用户管理,可以细粒度地控制用户对 DolphinScheduler 的操作权限。

添加用户
设置登录 DolphinScheduler 的新用户,关联指定租户、队列、邮件以及手机号。

 5、告警组管理

告警组管理用于配置系统中的告警组,定义告警的接收人和通知方式。这样,在系统出现异常或故障时,相关人员可以迅速得到通知,以便及时采取行动。

添加告警实例
定义一个告警的类别以及实例信息,填写对应的信息。

添加告警组
为设置的告警实例分配告警组。

 6、Worker

Worker 分组管理允许管理员对 DolphinScheduler 中的 Worker 节点进行分组和管理,这有助于优化任务调度和资源利用。

添加 Worker 分组管理

五、使用

1、创建项目

2、创建任务

点击进入刚刚创建的项目 

下图为工作流配置页面,共包含三个模快,分别为工作流定义、工作流实例和任务实例。
工作流定义:用于定义工作流,包括工作流各节点任务详情及各节点依赖关系等。
工作流实例:工作流每执行一次就会生成一个工作流示例。此处可查看正在运行的工作流以及已经完成的工作流。
任务实例:工作流中的一个节点任务,每执行一次就会生成一个任务实例。此处可用于查看正在执行的节点任务以及已经完成的节点任务。

点击  工作流定义

3、执行任务

先上线再执行

 点击执行之后

点击确定,此时工作流实例就会出现

一次只有一个,但我已经执行多次所以出现较多。

假如你的任务运行了,但是没有工作流实例,只提示成功,可以查看一下是否为内存不够了。
 worker 你的IP:1234 current cpu load average 0.43 is too high or available memory 0.17G is too low
提升一下内存即可。

此时点击 任务实例-->查看日志  即可查看你执行之后的结果

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值