离线数仓—全流程调度实现
前言
前面学习了工作流调度工具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节点分发脚本依赖的组件。
因为之前没有定义WorkerServ