异常信息:
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 root@udap1 mkdir -p oozie-oozi/0000001-181210094123742-oozie-oozi-W/ssh-a5e9--ssh/ ] | ErrorStream: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
at org.apache.oozie.action.ssh.SshActionExecutor.execute(SshActionExecutor.java:592)
at org.apache.oozie.action.ssh.SshActionExecutor.start(SshActionExecutor.java:206)
at org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:250)
at org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:64)
at org.apache.oozie.command.XCommand.call(XCommand.java:286)
at org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:321)
at org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:250)
at org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:175)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Not able to perform operation [ssh -o PasswordAuthentication=no -o KbdInteractiveDevices=no -o StrictHostKeyChecking=no -o ConnectTimeout=20 root@udap1 mkdir -p oozie-oozi/0000001-181210094123742-oozie-oozi-W/ssh-a5e9--ssh/ ] | ErrorStream: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
at org.apache.oozie.action.ssh.SshActionExecutor.executeCommand(SshActionExecutor.java:342)
at org.apache.oozie.action.ssh.SshActionExecutor.setupRemote(SshActionExecutor.java:375)
at org.apache.oozie.action.ssh.SshActionExecutor$1.call(SshActionExecutor.java:208)
at org.apache.oozie.action.ssh.SshActionExecutor$1.call(SshActionExecutor.java:206)
at org.apache.oozie.action.ssh.SshActionExecut
解决方法:
vi /etc/passwd
oozie:x:973:967:Oozie User:/var/lib/oozie:/bin/false
改为oozie:x:973:967:Oozie User:/var/lib/oozie:/bin/bash
然后就可以执行:su - oozie啦
ssh-keygen
生成秘钥:
su - root
cat /var/lib/oozie/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
验证免密登录:
su - oozie
ssh root@udap1就可以啦!
oozie其他配置优化:时区问题!
<property> <name>oozie.processing.timezone</name>** <value>GMT+0800</value>** </property>
调用shell失败配置问题: