2017-03-05 282 views
1

我正在嘗試使用Cloudera oozie進行簡單的ssh作業。Oozie簡單的ssh作業失敗:AUTH_FAILED:無法執行操作

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 

的工作被停跟隨呃ror:

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 [email protected] mkdir -p oozie-oozi/0000003-170304124323783-oozie-oozi-W/ssh--ssh/ ] | ErrorStream: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 

什麼是可能的問題?爲localhost啓用無密碼登錄。

+0

爲哪位用戶啓用無密碼登錄? 'oozie'或'cloudera'? – franklinsijo

+0

爲用戶cloudera – Astro

回答

0

Oozie服務器將運行SSH作爲oozie用戶運行ssh作爲。遠程的目標用戶將按照配置,即cloudera

oozie用戶啓用無密碼登錄。爲oozie用戶創建SSH密鑰,並將其公鑰複製到cloudera用戶的authorized_keys

+1

working..makes意義 – Astro