1、数据仓库工作流调度
1.1 调度工具部署
1.2 新数据生成
1.2.1 用户行为日志
1、启动日志采集通道,包括Kafka、Flume等
(1)启动Zookeeper
zk.sh start0.1
(2)启动Kafka
kf.sh start • 1
(3)启动Flume
f1.sh start f2.sh start
2、修改日志模拟器配置文件
修改hadoop102和hadoop103两台节点中的/opt/module/applog/application.yml文件,修改mock.date参数如下。
mock.date: "2020-06-15" • 1
3、执行日志生成脚本
lg.sh • 1
4、观察HDFS上是否有2020-06-15的日志数据生成
1.2.2 业务数据
1、修改Maxwell配置文件
(1)修改/opt/module/maxwell/config.properties文件
vim /opt/module/maxwell/config.properties • 1
(2)修改mock_date参数设置如下
mock_date=2020-06-15 • 1
2、启动增量表采集通道,包括Maxwel、Kafka、Flume等
(1)启动Maxwell
mxw.sh start • 1
注意:若Maxwell当前正在运行,为确保上述mock参数生效,需重启Maxwell。
(2)启动Flume
f3.sh start • 1
(3)修改业务数据模拟器配置文件中的mock_date参数
mock.date=2020-06-15 • 1
4)执行业务数据生成命令
java -jar gmall2020-mock-db-2021-10-10.jar • 1
(5)观察HDFS上增量表是否有2020-06-15的数据生成
1.3 工作流调度实操
由于DolphinScheduler集群模式启动进程较多,对虚拟机内存要求较高。故下面提供两种方式,可根据虚拟机内存情况进行选择。
1.3.1 DolphinScheduler集群模式
1、启动DolphinScheduler
dolphinscheduler/bin/start-all.sh • 1
2、使用普通用户登录
3、向DolphinScheduler资源中心上传工作流所需脚本
(1)创建文件夹
(2)上传工作流所需脚本
将工作流所需的所有脚本上传到资源中心scripts路径下,结果如下
4、向DolphinScheduler的WorkerServer节点分发脚本依赖的组件
由于工作流要执行的脚本需要调用Hive、DataX等组件,故在DolphinScheduler的集群模式下,需要确保每个WorkerServer节点都有脚本所依赖的组件。
xsync /opt/module/hive/ xsync /opt/module/spark/ xsync /opt/module/datax/
5、创建工作流
(1)在gmall项目下创建工作流
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、执行工作流