Создать каталог в HDFS с помощью действия ssh в Oozie
Я должен создать каталог в HDFS с помощью действия SSH в Oozie. Мой пример рабочего процесса
<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>
Я получаю ошибку во время выполнения. Кто-нибудь может подсказать мне, какой момент я здесь упускаю?
1 ответ
Вы не можете создать каталог в hdfs с помощью команды *nix mkdir. Использование, которое вы показали в коде, попытается выполнить команду mkdir в локальной файловой системе, тогда как вы хотите создать каталог в HDFS.
Цитирование документации oozie @ http://oozie.apache.org/docs/3.3.0/DG_SshActionExtension.html; Говорится
Команда оболочки выполняется в домашнем каталоге указанного пользователя на удаленном хосте.
<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.