本帖最后由 pig2 于 2018-11-28 07:26 编辑
问题导读
1.本文的测试环境是什么?
2.测试环境需要准备哪些内容?
3.Hue创建Shell Action包含哪些流程?
4.Hue中创建Oozie WorkFlow需要注意什么问题?
关注最新经典文章,欢迎关注公众号
本篇文章Fayson主要介绍在Hue中创建Shell Action指定工作空间外的Shell脚本。
测试环境
1.RedHat7.2
2.CM和CDH版本为5.15.0
测试环境准备
1.准备测试用的Shell脚本,内容如下:
复制代码
2.将准备好的Shell脚本put到HDFS上
- [root@cdh2 disk1]# hadoop fs -mkdir -p /oozie/common/shell
- [root@cdh2 disk1]# hadoop fs -put test.sh /oozie/common/shell
- [root@cdh2 disk1]# hadoop fs -ls /oozie/common/shell
复制代码
3.Hue创建Shell Action
1.登录Hue进入WorkFlow创建界面
2.点击“Add”添加Shell脚本的名称,在Shell Action中指定FILES参数
3.选择test.sh脚本在HDFS上存储的公共路径
到此完成了Shell Action工作流的创建,保存运行吧。
4.测试运行
1.点击右上角的运行图标
2.运行结果显示如下:
5.总结
1.Hue中创建的Oozie WorkFlow默认所有第三方依赖(如: jar、lib及可执行文件等),运行时会默认会找当前WorkFlow的WorkSpace的lib目录下获取。这也是前面Fayson将shell脚本上传至lib目录下作业运行时没有报错的原因。
2.在指定的第三方依赖不在WorkSpace的lib目录下存在时,需要使用FILES参数来进行设置,指定依赖的文件或包所在目录。
3.当然这里将Shell脚本放在HDFS的公共目录页需要考虑这些脚本的访问权限,如果执行用户对该脚本没有读取的权限,同样会导致你的WorkFlow运行失败。
作者:Fayson
https://mp.weixin.qq.com/s/tSICIjGukmhWHpUGqbR-kA
|