user1696323
user1696323

Reputation: 1

create a directory in HDFS using ssh action in Oozie

I have to create a directory in HDFS using ssh action in Oozie. My sample workflow is

<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>

I am getting error during execution. Can anybody please guide me what point i am missing here?

Upvotes: 0

Views: 1714

Answers (1)

sp3tsnaz
sp3tsnaz

Reputation: 506

You cannot make a directory in the hdfs using the *nix mkdir command. The usage that you have shown in the code will try to execute mkdir command on the local file system, whereas you want to create a directory in HDFS.

Quoting the oozie documentation @ http://oozie.apache.org/docs/3.3.0/DG_SshActionExtension.html ; it states

The shell command is executed in the home directory of the specified user in the remote host.

<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>

The above code depends upon the path to your hadoop binary.

Upvotes: 1

Related Questions