[英]Can't run shell script via oozie
我正在嘗試運行僅通過oozie工作流程通過mkdir命令創建目錄的Shell腳本。
我正在使用HDP 2.6.5 | Oozie 4.2.0
錯誤消息始終為:
java.io.IOException:無法運行程序“ test.sh”(在目錄“ / hadoop / yarn / local / usercache / whorchani / appcache / application_1547225966242_3390 / container_e111_1547225966242_3390_01_000002”中):錯誤= 2,沒有此類文件或目錄
如果您至少沒有發布有關相關操作的Oozie XML,將很難回答您的問題。 我的猜測是您沒有使用<file>
標記。
來自Mohammad Kamrul Islam和Aravind Srinivasan的Apache Oozie
由於shell命令可在任何Hadoop節點上運行,因此您需要了解二進制文件在這些節點上的路徑。 可執行文件必須在節點上可用,或者由操作使用
<file>
標記通過分布式緩存復制。 對於未通過緩存復制的節點上的二進制文件,如果始終使用絕對路徑,則可能更安全,更容易調試。
這是一個shell操作的簡單示例:
<action name="shell_action">
<shell xmlns = "uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>sh</exec>
<argument>my_shell_script.sh</argument>
<file>/full/hdfs/path/to/your/script/my_shell_script.sh</file>
</shell>
<ok to="action2"/>
<error to="fail"/>
</action>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.