从oozie到Hue运行shell脚本

Sou*_*nis 5 bash hadoop hue oozie

我在Hue使用oozie编辑器调用bash shell脚本.

我在工作流中使用了shell动作,并在shell命令中尝试了以下不同的选项:

  1. 使用"选择文件"上传shell脚本
  2. 提供存在shell脚本的本地目录路径
  3. 提供存在shell脚本的HDFS路径

但所有这些选项都给出了以下错误:

无法运行程序"sec_test_oozie.sh"(在目录"/ data/hadoop/yarn/local/usercache/user/appcache/application_1399542362142_0086/container_1399542365422_0086_01_000002"):java.io.IOException:error = 2,没有这样的文件或目录

我应该如何给出shell脚本执行命令?shell脚本文件应该驻留在哪里?

小智 5

您需要在oozie shell步骤中添加文件"sec_test_oozie.sh".在添加文件


小智 5

我认为你是从Windows机器创建文件,这是添加额外的换行符.你需要将shell脚本文件转换为Unix格式.我也面临同样的问题.然后我从Linux系统创建文件,它开始工作这个错误是错误的.


Ame*_*osa 5

我想扩展@SergioRG 的答案。Oozie,至少与Cloudera的Hue界面是非常违反直觉的。

要运行脚本文件,应满足三个条件:

  1. 该文件位于 HDFS 文件系统上的 Oozie 可访问的文件夹中
  2. 该文件应在 shell 命令字段中指示
  3. 该文件应与任务卡的“文件+”部分中的任何其他依赖文件一起添加。

如何在Oozie Hue界面添加文件

我想知道为什么他们没有默认添加您正在调用的脚本文件。

编辑:如果您需要设置路径变量(例如 PATH=/usr/local/bin:/usr/bin),请检查高级选项(左上角的齿轮)。


Rom*_*ain 0

您是否使用 Hue 文件浏览器编辑了 sec_test_oozie.sh?根据您的 Hue 版本,它可能已损坏:hue-list