1、配置sqoop驱动
注:配置此驱动,解决在workflow中sqoop无法找到mysql驱动报错
(1)上传mysql-connector-xxx.jar
cp mysql-connector-java* /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/sqoop/lib/ cp mysql-connector-java* /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hadoop/lib/
(2)授权权限为777
chmod 777 /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/sqoop/lib/mysql-connector-java* chmod 777 /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hadoop/lib/mysql-connector-java*
(3)分发到其他节点
xsync /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/sqoop/lib/mysql-connector-java* xsync /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hadoop/lib/mysql-connector-java*
(4) 上传驱动到hdfs中oozie包路径
sudo -u hdfs hdfs dfs -put mysql-conn* /user/oozie/share/lib/lib_20200915102036/sqoop/mysql-connector-java.jar sudo -u hdfs hdfs dfs -chmod 775 /user/oozie/share/lib/lib_20200915102036/sqoop/mysql-connector-java.jar
2.配置HUE与OOZIE时区同步
在使用Hue创建调度任务的过程中,发现Hue的时区与Oozie的调度时间不一致。默认Oozie使用的时区为UTC,在创建调度作业时还需要考虑在当前的时间减去8个小时才能达到预期。创建调度时设置的时间与实际调度时间不一致,两者相差了8小时。
(1)将Hue与Oozie配置为统一时区
在CM上将Hue的时区修改为Asia/Shanghai
进入Ooize服务的配置界面,搜索oozie-site.xml
保存并重启服务
3、在hue创建oozie workflow
(1) 在CM页面进入hue并新建workflow
(2)点击保存
注:不保存,hue不会在hdfs上创建工作目录,因为脚本需要上传到hdfs工作目录。
(3)保存后查看工作区,并通过后台命令上传脚本到此目录下的lib中
hdfs dfs -put sqoop.sh load.sh /user/hue/oozie/workspaces/hue-oozie-1600840243.95/lib
(4)回到新建的workflow编辑界面,拖拽脚本功能到对应位置,并导入脚本填写变量--》保存--》运行调试
4、HUE上创建oozie Coordinator定时任务流
(1)点击刚编辑好的workflow计划,设置完成后保存--》执行
到此 工作流调度全流程完毕
5、任务导出
workflow导出同理hue导入workflow进行任务调度前先参照《hue创建oozie workflow调度(详)》文档进行jdbc驱动和时区配置
进入hue--》选择文档
选择导入
选择workflow的json文件
点击数仓调度的workflow-->点击设置--》修改工作区
工作区修改查看hdfs的 /user/hue/oozie/workspaces/目录下是否有文件夹,有的话复制此路径设置到工作区,然后点击保存
将数仓脚本上传到workflow工作区路径的lib目录下
hdfs dfs -put * /user/hue/oozie/workspaces/hue-oozie-1603174964.87/lib
执行workflow进行测试(此处可后面通过计划任务调度测试)
workflow设置失败任务邮件提醒
再CM进入oozie,选择配置
邮箱stmp授权码获取
开启SLA集成
重启oozie让配置生效
进入hue 需要配置邮件提醒的workflow
在报警触点位置添加邮箱地址
可配置整体workflow邮件提醒,也可单独配某一个任务的提醒