0

Oozie ワークフローを実行しようとしていますが、次のエラー メッセージが引き続き表示されます。

org.apache.oozie.action.ActionExecutorException: FNF: username@servername で ssh-base.sh を実行できません | エラーストリーム: **************************************************** ********************* このマシンは xyz の所有物です....

(注: パスフレーズなしのアクセスをセットアップしました。手順を手動で実行すると機能しますが、Oozie を介して実行すると機能しません。つまり、ユーザー 'oozie' としてマシンにログインし、ssh することができます。ユーザー名@サーバー名 (パスワードを入力せずに) & 次に、「コマンド」を実行します。これは機能しますが、Oozie ワークフローは機能しません)

これが私のworkflow.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>username@xyz.com</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>
4

1 に答える 1

0

コードを見て、何が間違っていたのかを理解しました。FNF は「ファイルが見つかりません」の略です。「ssh アクション」は、次のようなセミコロンで区切られたコマンドを処理しないようです。

cd /export/home/user/test/bin;./test.sh --arg 値

これが私がしたことです:

1) コマンドを次のように変更しました。

./test.sh --arg 値

2) test.sh をユーザーのルート ディレクトリにコピーします。

3) cd /export/home/user/test/bin を「test.sh」の先頭に追加

それは今働いています!

于 2014-07-09T05:52:26.087 に答える