用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。
运行结果如下:

这样就很容易判断成功与否,进行下一步的处理了。
用shell获得hadoop中mapreduce任务运行结果的状态的更多相关文章
- 浅谈hadoop中mapreduce的文件分发
近期在做数据分析的时候.须要在mapreduce中调用c语言写的接口.此时就须要把动态链接库so文件分发到hadoop的各个节点上,原来想自己来做这个分发,大概过程就是把so文件放在hdfs上面,然后 ...
- hadoop中MapReduce中压缩的使用及4种压缩格式的特征的比较
在比较四中压缩方法之前,先来点干的,说一下在MapReduce的job中怎么使用压缩. MapReduce的压缩分为map端输出内容的压缩和reduce端输出的压缩,配置很简单,只要在作业的conf中 ...
- Hadoop中MapReduce作业流程图
MapReduce的流程分为11个步骤,4个实体 1.客户端:编写MapReduce的代码,配置作业,提交作业 2.JobTracker:初始化作业,分配作业,与TaskTracker通信,协调整个作 ...
- hadoop中MapReduce多种join实现实例分析
转载自:http://zengzhaozheng.blog.51cto.com/8219051/1392961 1.在Reudce端进行连接. 在Reudce端进行连接是MapReduce框架进行表之 ...
- hadoop中mapreduce的mapper抽象类和reduce抽象类
mapreduce过程key 和value分别存什么值 https://blog.csdn.net/csdnliuxin123524/article/details/80191199 Mapper抽象 ...
- Hadoop中MapReduce计算框架以及HDFS可以干点啥
我准备学习用hadoop来实现下面的过程: 词频统计 存储海量的视频数据 倒排索引 数据去重 数据排序 聚类分析 ============= 先写这么多
- hadoop中mapreduce的默认设置
MR任务默认配置: job.setMapperClass() Mapper Mapper将输入的<key,value>对原封不动地作为中间结果输出 job.setMapperOutputK ...
- [hadoop](3) MapReduce:创建计数器、任务状态和写入日志
前言 本章主要讲述了如何在mapreduce任务中添加自定义的计数器,从所有任务中聚合信息,并且最终输出到mapreduce web ui中得到统计信息. 准备工作 数据集:ufo-60000条记录, ...
- Hadoop之MapReduce学习笔记(一)
主要内容:mapreduce整体工作机制介绍:wordcont的编写(map逻辑 和 reduce逻辑)与提交集群运行:调度平台yarn的快速理解以及yarn集群的安装与启动. 1.mapreduce ...
随机推荐
- matlab里textread出现错误“Trouble reading floating point number from file (row 1, field 1)”
matlab里textread出现错误“Trouble reading floating point number from file (row 1, field 1)” 解决办法:traindata ...
- Java基础之异常
1.异常的概念 异常:程序在运行时出现的不正常情况,也可以说是出现的问题: Java中的异常:出现的不正常的问题也是一类事物,这类事物有一些共性的东西,比如有名称,有产生的原因等,将这些共性的部分抽取 ...
- lumen框架
1,获取配置 app(); 说明:app()返回的是全局唯一的application对象,该对象的原型是Laravel\Lumen\Application 加载配置文件(config/app.php) ...
- ubuntu14.04下安装ice3.5.1
ubuntu 14.04下是可以通过下面这条指令安装ice3.5的 sudo apt-get install libzeroc-ice35-dev 1. 从这里下载ice源文件 主要包括两部分:ice ...
- CVE-2016-0143 漏洞分析(2016.4)
CVE-2016-0143漏洞分析 0x00 背景 4月20日,Nils Sommer在exploitdb上爆出了一枚新的Windows内核漏洞PoC.该漏洞影响所有版本的Windows操作系统,攻击 ...
- angular中的等号(==)判定
使用angularjs的时候会使用到其中的表达式,其中有相等的判断.由于js有==和===的区别,于是就想看看是否相同.自己稍微做了一点测试,一看便知. 先给结论:angularjs表达式中的==和= ...
- vs2013 中已经添加了引用,编译还是提示没有添加引用
背景:在项目中需要引用wps中的etapi.dll.下载一个wps后,在项目中添加引用后. 同时在工程中使用using命令可以自动搜索进行添加该应用.但是,编译还是通不过.提示找不到excel.在网上 ...
- ANSII 与Unicode,Utf8之间的转换
在项目开发中,我们难免会遇到各种问题,特别是字符直接的转换,这里列举字符直间转换的代码: using namespace std; wstring AnsiiToUnicode(const strin ...
- 微信支付服务商模式(受理机构模式)开发注意事项,jsapi支付
1.首先下载的demo,一般都是有些bug的,先要改一下. 2.微信貌似没有为服务商模式单独开发demo,下载的也都是普通商户的支付demo,其实这里没有必要单独写,因为他们区别就是几个参数的区别. ...
- github使用方法(一)
github是目前流行的代码托管网站. github.com是一个网站,它为你提供一个远程版本库(你和你的协作者的工作成果最终提交在这里):同时它也是一个共享平台,你可以在这里找到数不尽的源码. 关于 ...