【问题标题】:how to kill hadoop jobs如何杀死hadoop工作
【发布时间】:2012-07-12 14:20:55
【问题描述】:

当我的代码遇到未处理的异常时,我想自动终止我的所有 hadoop 作业。我想知道最好的做法是什么?

谢谢

【问题讨论】:

    标签: hadoop kill jobs


    【解决方案1】:

    根据版本,执行:

    版本

    杀死一个 hadoop 工作:

    hadoop job -kill $jobId
    

    您可以获得所有 jobId 正在做的事情的列表:

    hadoop job -list
    

    版本 >=2.3.0

    杀死一个 hadoop 工作:

    yarn application -kill $ApplicationId
    

    您可以获得所有 ApplicationId 正在做的事情的列表:

    yarn application -list
    

    【讨论】:

    • 还映射作业 -kill $jobId
    【解决方案2】:

    不推荐使用以下命令

    hadoop job -list
    hadoop job -kill $jobId
    

    考虑使用

    mapred job -list
    mapred job -kill $jobId
    

    【讨论】:

    • 不工作并导致以下错误:线程“main”java.lang.IllegalArgumentException 中的异常:JobId 字符串:application_1470941878165_0001 格式不正确
    【解决方案3】:

    运行list 以显示所有作业,然后在相应命令中使用jobID/applicationID。

    杀死映射的作业:

    mapred job -list
    mapred job -kill <jobId>
    

    杀死纱线工作:

    yarn application -list
    yarn application -kill <ApplicationId>
    

    【讨论】:

      【解决方案4】:

      一个未处理的异常(假设它像坏数据一样可重复,而不是从特定数据节点读取错误)最终会导致作业失败。

      您可以通过以下属性配置特定 map 或 reduce 任务在整个作业失败之前可以失败的最大次数:

      • mapred.map.max.attempts - 每个地图任务的最大尝试次数。换句话说,框架会在放弃之前尝试多次执行地图任务。
      • mapred.reduce.max.attempts - 与上面相同,但用于减少任务

      如果您想在第一次失败时让作业失败,请将此值从默认值 4 设置为 1。

      【讨论】:

      • 但是如果一个节点死掉并且它的任务失败了,即使没有抛出异常,这也会导致作业失败,对吧?但是,我相信这确实是 OP 想要的最接近的解决方案。
      【解决方案5】:

      只要强行杀掉进程ID,hadoop作业也会被自动杀掉。使用这个命令:

      kill -9 <process_id> 
      

      例如:进程 ID 号:4040 名称节点

      username@hostname:~$ kill -9 4040
      

      【讨论】:

        【解决方案6】:

        使用下面的命令杀死所有在纱线上运行的作业。

        对于接受的作业,请使用以下命令。

        for x in $(yarn application -list -appStates ACCEPTED | awk 'NR &gt; 2 { print $1 }'); do yarn application -kill $x; done

        对于运行,作业使用以下命令。

        for x in $(yarn application -list -appStates RUNNING | awk 'NR &gt; 2 { print $1 }'); do yarn application -kill $x; done

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-10-31
          • 2013-06-16
          • 1970-01-01
          • 2016-05-09
          • 2014-03-12
          相关资源
          最近更新 更多