我尝试使用以下操作代码在 oozie 中运行 ssh 操作工作流作业 配置了无密码 ssh:
<action name="sshaction">
<ssh xmlns="uri:oozie:ssh-action:0.1">
<host>127.0.0.1</host>
<command>/bin/bash</command>
<args>/home/510600/HADOOP_ECO/CDH4/oozietest/test.sh</args>
<args>first</args>
<capture-output/>
</ssh>
<ok to="WordCount" />
<error to="fail" />
</action>
<action name="WordCount">
<java>
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<prepare>
<delete path="${nameNode}/user/510600/output/" />
</prepare>
<main-class>${parse_mainClass}</main-class>
<arg>${inputDir}</arg>
<arg>${parse_Output}</arg>
</java>
<ok to="end" />
<error to="fail" />
</action>
我在上面的代码中遇到的问题是 oozie ssh 操作即使使用 2 行 shell 脚本也需要很长时间才能完成,但是其他操作运行得非常快。
对于上述 2 个动作,sshaction 需要 12 分钟才能完成,而 WordCount 动作只需 15 秒即可完成
我的 shellscript 是 /home/510600/HADOOP_ECO/CDH4/oozietest/test.sh
#!/bin/bash
rm -rf /home/510600/abc.log
谁能解释为什么 oozie ssh 操作需要很长时间才能运行?