从hadoop 中删除匹配指定字符串的任务
来源:互联网 发布:windows打开81端口 编辑:程序博客网 时间:2024/05/28 19:24
我们都知道如果使用
主程序 kill_job.sh
hadoop job -list
获取当前正在运行的hadoop 任务,返回的结果如下:
返回的任务中不包括任务的名称, 但是通过hadoop 管理页面是可以查看到job 的名称的。
但是现实情况是我们可能需要根据任务的名称来删除任务。
我的实现方案是这样的
1. 通过获取 http://192.168.1.100:50030/jobtracker.jsp 网页
2. 解析网页获取任务名称 + job_id 的任务列表
3. 过滤出指定名称的job
4. 最后调用hadoop job -kill <job_id> 来杀死任务
代码如下:
parse.py 使用python 自带的html 解析模块
from HTMLParser import HTMLParserclass MyHTMLParser(HTMLParser): def __init__(self): HTMLParser.__init__(self)# self.current_tag = None self.flag = False self.name_flag = False def handle_starttag(self, tag, attrs): if tag == 'td': for name,value in attrs: if name == 'id' and value.startswith("job_"): self.flag = True self.name_flag = False break elif name == 'id' and value.startswith("name_"): self.flag = True self.name_flag = True break def handle_endtag(self, tag): self.flag = False def handle_data(self, data): if self.flag: print data, if self.name_flag: print ' 'if __name__ == '__main__': fp = open("./jobtracker.jsp") data = fp.read() my = MyHTMLParser() my.feed(data)
主程序 kill_job.sh
用shell 实现
# 过滤待删除的任务keyword=$1if [ -z "$keyword" ] ; then echo "参数不能为空" echo "用法: bash kill_job.sh <keyword> " exitficurl -O http://192.168.1.100:50030/jobtracker.jsppython parse.py | grep $keyword |sort| tee job.tmpecho "---------------- start kill -------------------"# 执行删除动作cat ./job.tmp |sort| while read LINEdo #echo $LINE job_id=`echo $LINE|awk -F " " '{print $1}'| tr -d ' '` echo "kill job -- ${job_id}" hadoop job -kill "$job_id"done
执行方法:
bash kill_job.sh merge_sl
merge_sl 是job 的名称
完整代码地址:
https://github.com/vearne/del_hadoop_job
0 0
- 从hadoop 中删除匹配指定字符串的任务
- 从指定字符串中删除指定字符
- 安卓从字符串中删除指定的子串
- java中从指定的字符串中删除指定的小字符串
- 从字符串中删除指定字符
- 从字符串中删除指定子串或指定元素
- 从字符串的指定位置开始,删除指定长度字符
- 从指定位置删除指定长度的字符串(串)
- 从指定位置删除指定长度的字符串(串)
- C++ 从指定位置开始,删除指定长度的字符串
- Java中如何从一个字符串中删除指定字符
- Java中如何从一个字符串中删除指定字符
- 从数组中删除指定的值
- 从数组中删除指定的元素
- 在文件中删除指定的字符串
- 删除字符串中所有指定的字符
- 删除字符串中任意指定的字符
- 字符串中删除指定的字符
- 【ROS】Learning tf教程各部分结果
- iOS笔记:第五篇 C语言 函数
- xcode常用快捷键
- hdu4135
- HDU 1054 Strategic Game(二分图 匈牙利算法)
- 从hadoop 中删除匹配指定字符串的任务
- 设计模式之装饰模式
- 这阵子的快乐和不顺
- Jave概述
- oracle中varchar字段排序问题
- 课外知识
- mysql并发查询缓慢单条很快
- springMVC在JSP页面取map值
- hdu 5015(矩阵快速幂)