1.离线数仓—全流程调度实现

本文介绍了如何在离线数据仓库项目中使用DolphinScheduler进行工作流调度。内容包括数据准备,如用户行为日志和业务数据的采集;详细讲解了DolphinScheduler的集群和单机模式的启动、登录、脚本上传、组件分发、环境变量配置以及工作流创建和执行的步骤。


前言

前面学习了工作流调度工具DolphinScheduler,下面对数仓项目进行应用。

一、数据准备

1.用户行为日志

1)启动日志采集通道,包括:Flume、Kafka等
2)修改日志模拟器配置文件,修改生成的日志时间:mock.date: "2020-06-15"

2.业务数据

1)修改Maxwell配置文件config.properties,保证Maxwell的binlog时间和业务数据库的数据时间一致:mock_date=2020-06-15
2)启动增量表采集通道,包括:Maxwell、Flume、Kafka等
3)修改生成业务数据的jar包对应的配置文件,保证生成的数据的时间:mock.date=2020-06-15
4)执行业务数据生成的jar包:java -jar gmall2020-mock-db-2021-10-10.jar

二、工作流调度实操

由于DolphinScheduler集群模式启动进程较多,对虚拟机内存要求较高。故下面提供两种方式,可根据虚拟机内存情况进行选择。

1.DolphinScheduler集群模式

使用集群模式,最好把一些用不到的进程全部关闭,防止内存不够用而导致运行失败。

1.1启动和登录DolphinScheduler

1)启动DolphinScheduler:bin/start-all.sh
2)使用普通用户登录:
在这里插入图片描述

1.2上传脚本

向DolphinScheduler资源中心上传工作流所需脚本
如果先创建工作流,那么在定义工作单元的时候没办法选择要执行的外部的脚本,所以先把要用到的脚本上传上去。
1)创建文件夹
在这里插入图片描述
2)上传工作流所需脚本
将工作流所需脚本上传到资源中心scripts路径下,结果如下:
在这里插入图片描述

1.3组件分发

向DolphinScheduler的WorkerServer节点分发脚本依赖的组件。
因为之前没有定义WorkerServer的工作组,所以默认都在default组,但是执行脚本所需要的组件Hive、Spark和DataX只在Hadoop102上面有,如果将任务分发到了Hadoop103和Hadoop104上,那么会找不到相关组件而报错,所以要进行分发,确保每个WorkerServer节点都有脚本所依赖的组件。

[atguigu@hadoop102 ~]$ xsync /opt/module/hive/
[atguigu@hadoop102 ~]$ xsync /opt/module/spark/
[atguigu@hadoop102 ~]$ xsync /opt/module/datax/

1.4配置环境变量并分发

修改DolphinScheduler环境变量配置文件并分发。
实际上,WorkerServer在执行相关脚本时要使用Hive、Spark和DataX,但它使用的这些组件的环境变量并不是服务器里面配的环境变量,而是DolphinScheduler里面的环境变量,所以我们要先在DolphinScheduler中配置这些组件的环境变量。

1)修改文件:vim /opt/module/dolphinscheduler/conf/env/dolphinscheduler_env.sh
2)修改内容如下:

export HADOOP_HOME=/opt/module/hadoop-3.1.3
export HADOOP_CONF_DIR=/opt/module/hadoop-3.1.3/etc/hadoop
export SPARK_HOME=/opt/module/spark
export SPARK_HOME2=/opt/soft/spark2
export PYTHON_HOME=/opt/soft/python
export JAVA_HOME=/opt/module/jdk1.8.0_212
export HIVE_HOME=/opt/module/hive
export FLINK_HOME=/opt/soft/flink
export DATAX_HOME=/opt/module/datax

export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLINK_HOME/bin:$DATAX_HOME/bin:$PATH 

上面export PATH中不需要修改SPARK_HOME1/bin这些,这些是为了可以直接在命令行调用这些目录下的命令。而上面部分的SPARK_HOME、HADOOP_HOME、DATAX_HOME等这些名字必须这样写。
在Hadoop102上修改完毕之后,将修改后的配置文件进行分发。

1.5 创建工作流

1)在一个项目中创建工作流
在这里插入图片描述
2)创建工作单元并配置
mysql_to_hdfs_full:
在这里插入图片描述
hdfs_to_ods_db:
在这里插入图片描述
hdfs_to_ods_log:
在这里插入图片描述
ods_to_dwd:
在这里插入图片描述
ods_to_dim:
在这里插入图片描述
dwd_to_dws_1d:
在这里插入图片描述
dws_1d_to_dws_nd:
在这里插入图片描述
dws_1d_to_dws_td:
在这里插入图片描述
dws_to_ads:
在这里插入图片描述
hdfs_to_mysql:
在这里插入图片描述
3)设置依赖关系
根据上篇文章中画出的节点间依赖关系,进行相关的设置。
在这里插入图片描述
4)保存工作流
在这里插入图片描述
在这里可以设置传参数的值,这里设置为了固定值。在定时调度时,全局参数值应该设置为$[yyyy-MM-dd-1]或者空值。
7)上线工作流
在这里插入图片描述
8)执行工作流
在这里插入图片描述

2.DolphinScheduler单机模式

2.1 启动DolphinScheduler

单机模式启动方式:bin/dolphinscheduler-daemon.sh start standalone-server
所有的服务都位于一个进程当中。

2.2 安全中心配置

由于DolphinScheduler的单机模式使用的是内置的ZK和数据库,故在集群模式下所做的相关配置在单机模式下并不可见,所以需要重新配置,必要的配置为创建租户和创建用户。
1)先用管理员账号登录,创建租户
在这里插入图片描述
2)创建用户
在这里插入图片描述
3)切换普通用户登录
在这里插入图片描述
4)创建项目
在这里插入图片描述
5)其余操作
其余操作和集群模式基本一致,不过不需要分发Hive、Spark和DataX,因为单机模式下都在Hadoop102下执行。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值