0462-如何在Hue中创建Shell Action工作流续

版权声明:原创文章,欢迎转载,转载请注明:转载自 https://blog.csdn.net/Hadoop_SC/article/details/84475058

Fayson的github: https://github.com/fayson/cdhproject

推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f,或者扫描文末二维码。

** 感谢群友Beetes提出的问题。**

1.文档编写目的

Fayson在前面的文章《Hue中使用Oozie创建Shell工作流在脚本中切换不同用户》,里面介绍了Shell Action的创建,在文中我们相应的Shell脚本是放在每个Oozie作业对应的WorkSpace的lib目录下。对于一些对于所有用于都公用的Shell脚本可能放在HDFS的公共目录下,那这时创建Shell Action需要注意些什么呢?本篇文章Fayson主要介绍在Hue中创建Shell Action指定工作空间外的Shell脚本。

  • 测试环境

1.RedHat7.2

2.CM和CDH版本为5.15.0

2.测试环境准备

1.准备测试用的Shell脚本,内容如下:

#!/bin/bash

cd ~
ls

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上存储的公共路径

扫描二维码关注公众号,回复: 4235191 查看本文章

在这里插入图片描述
在这里插入图片描述

到此完成了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运行失败。


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
在这里插入图片描述

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Hadoop_SC/article/details/84475058