2012-11-07 84 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的二进制文件。

相关问题