次のアクション コード Passwordless ssh was configured を使用して、oozie で 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>
上記のコードで発生した問題は、2 行のシェル スクリプトを使用しても oozie ssh アクションの完了に時間がかかることですが、他のアクションは非常に高速に実行されます。
上記の 2 つのアクションでは、sshaction の完了に 12 分かかり、WordCount のアクションの完了にかかった時間はわずか 15 秒でした
私のシェルスクリプトは /home/510600/HADOOP_ECO/CDH4/oozietest/test.sh です
#!/bin/bash
rm -rf /home/510600/abc.log
oozie ssh アクションの実行に時間がかかる理由を誰か説明できますか?