fnf:无法执行ssh-base.sh

nr7wwzry  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(366)

尝试运行oozie工作流,但始终收到以下错误消息:
org.apache.oozie.action.actionExecuteException:fnf:无法在上执行ssh-base.shusername@servername |错误流:*******************************************************************************此计算机是xyz的属性。。。。
(注意:我已设置passpharase less访问。如果我手动运行的步骤,它的工作,但当我运行通过oozie它没有。换句话说,我可以作为用户“oozie”登录到机器,然后使用sshusername@servername (不输入密码)&然后运行“command”。这是可行的,但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>
vmjh9lq9

vmjh9lq91#

通过查看代码找出了问题所在。fnf代表“找不到文件”。“ssh action”似乎不处理用分号分隔的命令,例如:
cd/export/home/user/test/bin/test.sh—arg值
以下是我所做的:
1) 将命令更改为:
./test.sh—arg值
2) 已将test.sh复制到用户的根目录。
3) 在“test.sh”的开头添加了cd/export/home/user/test/bin
现在起作用了!

相关问题