Oozie 简单 ssh 作业失败:AUTH_FAILED:无法执行操作

Oozie simple ssh job failing : AUTH_FAILED: Not able to perform operation

我正在尝试使用 Cloudera oozie 进行简单的 ssh 作业。

job.properties:

nameNode=hdfs://localhost:8020
jobTracker=localhost:8032
queueName=default
examplesRoot=examples

oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/ssh

workflow.xml:

<workflow-app xmlns="uri:oozie:workflow:0.2" name="ssh-wf">
    <start to="ssh"/>

    <action name="ssh">
        <ssh xmlns="uri:oozie:ssh-action:0.1">
            <host>localhost</host>
            <command>date</command>
        </ssh>
        <ok to="end"/>
        <error to="fail"/>
    </action>

    <kill name="fail">
        <message>SSH action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>

    <end name="end"/>
</workflow-app>

当尝试使用以下命令 运行 作业时:

oozie job -oozie http://localhost:11000/oozie -config examples/apps/ssh/job.properties -run

作业因以下错误而暂停:

org.apache.oozie.action.ActionExecutorException: AUTH_FAILED: Not able to perform operation [ssh -o PasswordAuthentication=no -o KbdInteractiveDevices=no -o StrictHostKeyChecking=no -o ConnectTimeout=20 cloudera@localhost  mkdir -p oozie-oozi/0000003-170304124323783-oozie-oozi-W/ssh--ssh/ ] | ErrorStream: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

可能的问题是什么?为本地主机启用了无密码登录。

Oozie 服务器将 运行 SSH 作为 oozie 用户转为 运行 SSH 作为。远程的目标用户将根据配置,即 cloudera.

oozie 用户启用无密码登录。为 oozie 用户创建 SSH 密钥并将其 public 密钥复制到 cloudera 用户的 authorized_keys