小白也能玩明白,海豚调度器DolphinScheduler 搭建改造可用单机版DS[实战]

官方文档

DolphinScheduler | 文档中心 (apache.org)

DolphinScheduler数据源支持

DolphinScheduler数据源配置 (notion.site)

本篇中使用的DolphinScheduler的版本为apache-dolphinscheduler-3.1.8-bin

 dolphinscheduler的部署

上传到需求的目录,本篇以/opt/installs为例

本篇所使用虚拟机为linux,虚拟机名称为bigdata,且已经配置过映射关系(ip可以用虚拟机名称替代)

解压

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

将mysql的驱动包拷贝到所有的服务的jars目录下:

cd apache-dolphinscheduler-3.1.8-bin

cp /opt/installs/hive/lib/mysql-connector-java-8.0.26.jar ./standalone-server/libs/standalone-server/

dolphinscheduler自带了H2数据库以及zookeeper,但是单机模式下使用自带的H2数据库,会导致退出后重新进入dolphinscheduler时原有的数据丢失,所以如果要正常使用dolphinscheduler需要修改数据库源,本篇将使用mysql作为数据库源

进入数据库中新建一个schema

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

创建一个新的用户(也可以直接用root)

在创建新用户前由于mysql的安全策略,新用户的密码不可以过于简单,所以先修改安全策略再进行新用户的创建

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

然后在linux窗口声明变量(可以直接配置到环境变量中,但是本篇仅作演示,所以直接声明变量)

export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=dolphinscheduler
export SPRING_DATASOURCE_URL="jdbc:mysql://bigdata:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
export SPRING_DATASOURCE_USERNAME=dolphinscheduler
export SPRING_DATASOURCE_PASSWORD=123456

初始化数据库(在linux窗口中)

bash tools/bin/upgrade-schema.sh

修改 DolphinScheduler 的配置


在 DolphinScheduler 的安装目录下找到 conf/application.yaml 文件。
将其中关于数据库连接的部分修改为指向你的 MySQL 实例,包括用户名、密码、数据库名等信息。以下是修改后的示例:

 datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://bigdata:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
    username: dolphinscheduler
    password: 123456

由于yaml文件对文件格式有很严格的要求,所以修改完以后一定要检查文件格式

启动HDFS存储

修改/opt/installs/apache-dolphinscheduler-3.1.8-bin/standalone-server/conf下的common.properties

以下是已经修改好的

修改完成以后就可以启动单机DolphinScheduler

# cd到/opt/installs/apache-dolphinscheduler-3.1.8-bin
如何启动和关闭单机版:
# 启动 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

 启动

查看状态

图形化界面

访问地址

http://bigdata:12345/dolphinscheduler/ui

(如果一直进不去,去查看conf/application.yaml 中文件格式有没有错误)

账号和密码:  

admin  dolphinscheduler123

成功进入以后需要手动配置一些东西

进入安全中心

创建租户: 

创建用户:

需要输入创建信息

创建好以后需要进行授权

如果觉得admin账户密码过于复杂可以修改密码

输入两次新密码即可

创建完用户给好权限以后可以测试一下能否正常上传数据

进入资源中心

 点击上传文件

选择上传的文件即可

上传完以后可以在hdfs上查看文件

如果出现文件编码异常问题需要检查字符集是否为utf-8

出现正常上传的文件即为可以正常上传文件

接着就可以开始项目的创建了

进入项目管理

选择创建项目

输入项目信息

输入好以后点击项目名称

进入项目概览界面

进入工作流定义

选择创建工作流

接下来就可以用可视化界面拖动的方式创建工作流了

可以自定义项目执行流程以及命令类型

以下是一个示例

先执行Anode,Bnode 再执行Cnode

点击Anode即可编辑这个节点

编辑完需要的任务流以后需要上线这个任务流

上线任务流以后就可以执行

工作流启动

工作流运行成功

查看日志

进入任务实例中

点击Anode的日志

执行成功

以上就是海豚调度器DolphinScheduler 单机模式的部署与简单使用

### 如何在 DolphinScheduler 中配置 Worker Group 的 IP #### 配置 Worker Group 的基本流程 DolphinScheduler 是一种分布式的工作流调度平台,在其架构中,Worker 节点负责执行具体的任务。为了实现负载均衡以及高可用性,通常会将多个 Worker 节点划分为不同的 Worker Group[^1]。 在 `worker.properties` 文件中,可以通过设置参数来指定 Worker 所属的分组名称。具体来说,通过修改以下属性完成 Worker Group 的配置: ```properties # 设置当前 Worker 属于哪个 WorkerGroup,默认为 default worker.group.name=default ``` 当设置了上述属性后,该 Worker 将被分配到对应的 Worker Group 下,并仅接收来自此分组的任务请求[^2]。 #### 添加多台机器至同一 Worker Group 如果希望将多台机器加入同一个 Worker Group,则需分别在这几台服务器上编辑各自的 `worker.properties` 文件并保持相同的 `worker.group.name` 值。例如,假设三台主机分别为 hadoop102、hadoop103 和 hadoop104,那么可以在每台机器上的 `worker.properties` 文件中写入如下内容: ```properties worker.group.name=my_worker_group ``` 接着启动这些节点的服务即可让它们共同组成名为 my_worker_group 的工作组[^3]。 #### Master Properties 对应调整 除了 Workers 自身外,Master 还需要知道有哪些合法有效的 Worker Groups 存在于整个系统之中。这一步骤涉及到了另一个重要文件——master.properties 。在此处添加允许使用的 WorkerGroups 列表项: ```properties # 定义可接受的所有 worker groups ,逗号隔开 masters.worker.groups.default,my_worker_group ``` 这样做的目的是告知 Masters 可以为哪些预定义好的 Worker Groups 提供资源管理支持。 #### 实际操作案例展示 以下是基于单机模拟环境下的实际部署过程演示(注意真实生产环境中应当按照集群模式进行规划): 1. 修改 `/conf/worker.properties`, 设定目标 Workergroup 名字; ```bash vi conf/worker.properties # 更改下面这一行为你想要的名字比如 testgroup 或者其他自定义名字 worker.group.name=testgroup ``` 2. 同样地也要更新 master 的 properties 来认可新增加的 workergroups; ```bash vi conf/master.properties masters.worker.groups=default,testgroup ``` 3. 使用官方脚本重新初始化数据库结构以反映最新改动后的设定值; ```bash sh bin/init-db.sh ``` 4. 最终重启所有关联组件使新策略生效; ```bash sh sbin/start-all.sh ``` 此时应该能够在界面上看到新的 Worker Group 已经成功注册并且正常运作当中了[^4]。 --- ### 注意事项 - 如果是在 HA (High Availability) 场景下运行的话,请记得同步所有的配置更改到各个副本实例上去。 - 当前版本可能对于某些高级特性存在兼容性差异,请参照对应发行版文档获取最精确指导信息[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值