我必须在Oozie中使用ssh动作在HDFS中创建一个目录。 我的示例工作流程是
<workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.1">
<action name="testjob">
<ssh>
<host>name@host<host>
<command>mkdir</command>
<args>hdfs://host/user/xyz/</args>
</ssh>
<ok to="end"/>
<error to="fail"/>
</action>
</workflow-app>
我在执行期间遇到错误。 有人可以指导我在这里错过了什么点吗?
答案 0 :(得分: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>name@host<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二进制文件的路径。