FNF: невозможно выполнить ssh-base.sh

Пытаюсь запустить рабочий процесс Oozie, но продолжает получать следующее сообщение об ошибке:

org.apache.oozie.action.ActionExecutorException: FNF: невозможно выполнить ssh-base.sh на имени пользователя@имя_сервера | ErrorStream: *************************************************** ************************ Эта машина является собственностью xyz....

(Примечание: я настроил доступ без пароля. Если я запускаю шаги вручную, это работает, но когда я запускаю через Oozie, это не работает. Другими словами, я могу войти в систему как пользователь «oozie», затем ssh имя_пользователя@имя_сервера (без ввода пароля), а затем запустите «команду». Это работает, но рабочий процесс Oozie не работает)

Вот мой рабочий процесс.xml

<workflow-app name="my app" xmlns="uri:oozie:workflow:0.2">
    <start to="sshAction"/>
    <action name="sshAction">
        <ssh xmlns="uri:oozie:ssh-action:0.1">
            <host>username@servername</host>
            <command>cd /export/home/user/test/bin;./test.sh --arg value</command>
            <capture-output/>
        </ssh>
        <ok to="sendEmail"/>
        <error to="sendEmail" />
    </action>
    <action name="sendEmail">
        <email xmlns="uri:oozie:email-action:0.1">
              <to>[email protected]</to>
              <subject>Output of workflow ${wf:id()}</subject>
              <body>Status of the file move: ${wf:actionData('sshAction')['STATUS']}</body>
        </email>
        <ok to="end"/>
        <error to="end"/>
    </action>
    <end name="end"/>
 </workflow-app>

person DilTeam    schedule 01.07.2014    source источник
comment
Проверьте это stackoverflow.com/questions/19272430/oozie-ssh-action   -  person Ramanan    schedule 04.07.2014


Ответы (1)


Выяснил, что не так, посмотрев код. FNF означает «Файл не найден». Похоже, что «действие ssh» не обрабатывает команды, разделенные точкой с запятой, например:

cd /export/home/user/test/bin;./test.sh --значение аргумента

Вот что я сделал:

1) Изменил команду на:

./test.sh --значение аргумента

2) Скопировал test.sh в корневой каталог пользователя.

3) Добавлен cd /export/home/user/test/bin в начало 'test.sh'

Теперь это работает!

person DilTeam    schedule 09.07.2014