oozie on emr-tasks永远挂在prep状态

gudnpqoy  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(378)

我正在使用3.0.4ami(hadoop2.2.0)在elasticmapreduce上运行oozie4.0.1。我已经从源代码构建了oozie,所有的东西都安装好了,而且似乎都正常工作,甚至可以安排一个hive作业。也就是说,我可以连接到web控制台,使用“oozie”命令提交和终止作业,等等,但是。。。我发现任务(到目前为止我已经尝试过“hive”和“shell”)进入prep状态(根据oozie web控制台),但从未真正开始。
我尝试了协调器(cron)作业和基本工作流作业,在这两种情况下得到了相同的行为。它到达配置单元任务节点或shell任务节点,然后挂起。
对于基本工作流任务,job.properties如下所示:

nameNode=hdfs://ip-redacted.ec2.internal:9000                                                                                                                                                              
jobTracker=ip-redacted.ec2.internal:9026

queueName=default
examplesRoot=examples

oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/shell

workflow.xml如下所示:

<workflow-app xmlns="uri:oozie:workflow:0.4" name="shell-wf">
    <start to="shell-node"/>
    <action name="shell-node">
        <shell xmlns="uri:oozie:shell-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
            </configuration>
            <exec>echo</exec>
            <argument>my_output=Hello Oozie</argument>
            <capture-output/>
        </shell>
        <ok to="check-output"/>
        <error to="fail"/>
    </action>
    <decision name="check-output">
        <switch>
            <case to="end">
                ${wf:actionData('shell-node')['my_output'] eq 'Hello Oozie'}
            </case>
            <default to="fail-output"/>
        </switch>
    </decision>
    <kill name="fail">
        <message>Shell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <kill name="fail-output">
        <message>Incorrect output, expected [Hello Oozie] but was [${wf:actionData('shell-node')['my_output']}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

我在oozie.log文件中没有看到任何看起来特别有嫌疑的消息。
如有任何想法或建议,我们将不胜感激。

pxy2qtax

pxy2qtax1#

当一个节点中没有足够的空闲插槽时,oozie调度器会一直等待空闲插槽。查看此项了解更多详细信息以及如何增加每个节点的插槽数。
从op中提供的信息来看,这可能是解决方案,也可能不是。

voase2hg

voase2hg2#

协调员将在 PREP 状态当开始时间是在将来时,请在此处阅读有关协调器状态的更多信息。
如果您使用的是协调器-可以添加协调器xml文件吗?
另外,如果您可以粘贴与卡住的操作相关的日志,这也会很有帮助

相关问题