我正在尝试通过Oozie工作流运行ssh操作,
<action name="ssh-action">
<ssh xmlns="uri:oozie:ssh-action:0.1">
<host>Server name.net<host>
<command>echo</command>
</ssh>
<ok to="endjob"/>
<error to="endjob"/>
</action>
我将工作流存储到hdfs中,但是当尝试从oozie服务器连接服务器name.net时,我得到了以下错误信息,有人可以帮助我吗?
错误: FNF: /var/tmp/oozie/oozie-dshm46789086433.dir/ssh/ssh.base.sh它看起来与oozie配置有关,可以请任何人帮助解决这个问题吗?我的目标是在Oozie服务器上的特定服务器上运行脚本。
发布于 2015-06-24 22:30:07
尝试如下所示:
<action name="shell-action">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>${queueName}</value>
</property>
</configuration>
<exec>example.sh</exec>
</shell>
<ok to="end" />
<error to="kill" />
</action>发布于 2019-02-19 13:29:39
试试这样的东西-
第1步-如下所示创建workflow.xml
<?xml version="1.0"?>
<workflow-app xmlns="uri:oozie:workflow:0.3" name="sshAction">
<start to="MySSHAction"/>
<action name="MySSHAction">
<ssh xmlns="uri:oozie:ssh-action:0.1">
<host>${sshHost}</host>
<command>${shellScriptPath}</command>
<capture-output/>
</ssh>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]. </message>
</kill>
<end name="end"/>
</workflow-app>步骤2-配置job.properties
nameNode=hdfs://<namenode-machine>:8020
jobTracker=<resource-manager>:8050
queueName=default
shellScriptPath=/opt/example.sh
sshHost=oozie@localhost注意-主机条目应该是这样的@,并确保应该有从oozie@oozie- sshHost到@的无密钥访问
第3步-编写示例example.sh脚本
#!/bin/bash
echo "Hello Oozie"https://stackoverflow.com/questions/30987244
复制相似问题