【问题标题】:How does one terminate(or kill) a Hadoop job in Java?如何终止(或终止)Java 中的 Hadoop 作业?
【发布时间】:2014-06-11 00:17:05
【问题描述】:

假设我们有一个 MapReduce 作业,并且我们希望终止/终止该作业以融入到我们的 Java MapReduce 中——比如在特定的时间范围之后,我该怎么做?

例如,在指定时间后终止作业

【问题讨论】:

    标签: java hadoop mapreduce kill-process


    【解决方案1】:

    您可以使用作业 ID 获取 Job,然后使用 Job.killJob()

    【讨论】:

    • java.lang.Exception: java.lang.IllegalStateException: Job in state DEFINE instead of RUNNING 当我使用 job.killJob() 时,我的日志上打印了此错误消息。你知道为什么会这样吗?
    • 这是因为你甚至在它开始之前就试图杀死它。作业必须处于RUNNING 状态才能被杀死。在 DEFINE 状态期间,作业开始运行(即识别要处理的块以及处理作业所需的元数据处理所花费的时间)
    【解决方案2】:

    您可以使用Thread.sleep() 设置一个简单的计时器,然后使用Job.killJob() 终止该作业。

    【讨论】:

    • 对不起。以为他是第一位的。现已更正。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-10
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多