从oozie到hue运行shell脚本

dnph8jn4  于 2021-06-02  发布在  Hadoop
关注(0)|答案(7)|浏览(548)

我在色调中使用oozie编辑器调用bashshell脚本。
我在工作流中使用了shell操作,并在shell命令中尝试了以下不同选项:
使用“选择文件”上载了shell脚本
给出了shell脚本所在的本地目录路径
给出了存在shell脚本的hdfs路径
但所有这些选项都会产生以下错误:
无法运行程序“sec\u test\u oozie.sh”(在目录“/data/hadoop/yarn/local/usercache/user/appcache/application\u 1399542362142\u 0086/container\u 1399542362142\u 0086\u 01\u000002”中):java.io.ioexception:error=2,没有这样的文件或目录
我应该如何给出shell脚本执行命令?shell脚本文件应该驻留在哪里?

xmakbtuz

xmakbtuz1#

我也遇到了同样的问题,问题是当工作流试图将脚本解析为属性行时,脚本会回显一些不相关的行。oozie给出了一个非常不相关的错误信息 java.io.IOException: error=2, No such file or directory 这只会增加混乱。
你需要使用 <file> 添加脚本。
如果你用过 <capture-output/> 然后必须确保脚本只打印“key=value”行,如java属性,否则会出现错误 java.io.IOException: error=2, No such file or directory 有一条路指向 .../yarn/local/usercache/...

ozxc1zmp

ozxc1zmp2#

我想您是在windows计算机上创建文件,该计算机正在添加额外的换行符。您需要将shell脚本文件转换为unix。我也遇到了同样的问题。然后,我从linux系统创建了该文件并开始工作。错误是误导。

z18hc3ub

z18hc3ub3#

你用色调文件浏览器编辑过sec_test_oozie.sh吗?根据你的色调版本,它可能已经损坏了它:色调列表

7hiiyaii

7hiiyaii4#

我想扩展@sergiorg的答案。oozie,至少cloudera的色调界面是非常违反直觉的。
要运行脚本文件,应满足三个条件:
该文件位于hdfs文件系统中,位于oozie可以访问的文件夹中
该文件应在shell命令字段中指明
该文件应与任务卡的“文件+”部分中的任何其他从属文件一起添加。

我想知道他们为什么不在默认情况下添加您正在调用的脚本文件。
编辑:如果您需要设置path变量(例如path=/usr/local/bin:/usr/bin),请同时检查高级选项(左上角的档位)。

scyqe7ek

scyqe7ek5#

“没有这样的文件或目录”oozie找不到该文件。请检查命令中的addpath设置。
在编辑节点部分,获取oozie应用程序hdfs路径。
上传hdfs oozie应用程序路径中的shell脚本。
在oozie编辑节点步骤中,shell命令-指定上载的shell脚本名称。
下面有addpath选项,然后添加文件,添加上传到hdfs路径的shell脚本。

balp4ylt

balp4ylt6#

卸下#/shell脚本中的bin/bash帮助了我

m1m5dgzv

m1m5dgzv7#

您需要在oozie shell步骤中添加文件“secu test\uoozie.sh”。在“添加文件”中

相关问题