zoukankan      html  css  js  c++  java
  • 用shell获得hadoop中mapreduce任务运行结果的状态

    在近期的工作中,我需要用脚本来运行mapreduce,并且要判断运行的结果,根据结果来做下一步的动作。

    开始我想到shell中获得上一条命令运行结果的方法,即判断"$?"的值

    if [ $? -eq 0 ];then
        #do something
    fi

    但是有时候即便mapreduce运行失败了,也还是会进入判断结构中。

    后来查阅了相关资料,得知hadoop中可以使用yarn的命令,来获得job的状态,包括job名称、完成百分比、当前状态等参数,其实就和yarn的web界面查看到的数据一模一样。

    使用yarn命令查看job状态:

    我们要做的就只剩下截取“Final-State”后的字段,即可判断程序运行的最终结果了。这里我们要使用awk命令进行解析:

    yarn application -status application_1468831024962_0278 | grep 'Final-State' | awk -F ':' '{print $2}'

    其中 application_1468831024962_0278 是我的applicationID,你可以通过yarn application -list来获得applicationID。

    运行结果如下:

    这样就很容易判断成功与否,进行下一步的处理了。

  • 相关阅读:
    第七周作业
    第六周作业
    第四周作业
    第三次作业
    第二次作业
    最后一次作业-- 总结报告
    第十四,十五周作业
    第七周作业
    第六周作业
    第四周作业
  • 原文地址:https://www.cnblogs.com/xyliao/p/5711768.html
Copyright © 2011-2022 走看看