2012-11-07 65 views
0

我必須在Oozie中使用ssh動作在HDFS中創建一個目錄。 我的示例工作流程是在Oozie中使用ssh動作在HDFS中創建一個目錄

<workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.1"> 
    <action name="testjob"> 
     <ssh> 
      <host>[email protected]<host> 
      <command>mkdir</command> 
      <args>hdfs://host/user/xyz/</args> 
     </ssh> 
     <ok to="end"/> 
     <error to="fail"/> 
    </action> 
</workflow-app> 

我在執行過程中出現錯誤。 任何人都可以請指導我在這裏失去了什麼點?

回答

1

你不能在使用* nix的mkdir命令的HDFS目錄。您在代碼中顯示的用法將嘗試在本地文件系統上執行mkdir命令,而您想在HDFS中創建一個目錄。

引述Oozie的文檔@http://oozie.apache.org/docs/3.3.0/DG_SshActionExtension.html;它聲明

shell命令在遠程主機中指定用戶的主目錄中執行。

<workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.1"> 
<action name="testjob"> 
    <ssh> 
     <host>[email protected]<host> 
     <command>/usr/bin/hadoop</command> 
     <args>dfs</args> 
     <args>-mkdir</args> 
     <args>NAME_OF_THE_DIRECTORY_YOU_WANT_TO_CREATE</arg> 
    </ssh> 
    <ok to="end"/> 
    <error to="fail"/> 
</action> 

上面的代碼取決於路徑到Hadoop的二進制文件。

相關問題