oozie ssh动作需要很长时间才能完成

时间:2013-07-02 13:49:24

标签: hadoop oozie

我尝试使用以下操作代码在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秒才能完成

我的shellcript是/home/510600/HADOOP_ECO/CDH4/oozietest/test.sh

#!/bin/bash
rm -rf /home/510600/abc.log

有谁可以解释为什么oozie ssh动作需要很长时间才能运行?

2 个答案:

答案 0 :(得分:2)

如果一切正常,除了从shell脚本向oozie webserver发送状态,我知道这个问题会卷曲。

远程计算机中应存在Linux实用程序卷曲。

因为oozie webserver在内部使用两个bash脚本ssh-base.sh和ssh-wapper.sh来执行远程机器中的命令。 ssh-base.sh脚本使用linux实用程序curl通过调用oozie webservice将状态发送回oozie服务器。

答案 1 :(得分:1)

有时可能会因配置身份验证问题而发生。

你是否尝试过没有oozie的脚本。完成需要多长时间?