博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop运维记录系列(二十二)
阅读量:5935 次
发布时间:2019-06-19

本文共 1143 字,大约阅读时间需要 3 分钟。

今天抽空解决了一个Hadoop集群的一个非常有意思的故障,之所有有意思,是这个故障既可以称之为故障,又不算是故障,说不算问题吧,作业跑的特慢,说算问题吧,作业不但都能跑出来,还没有任何报错,所以还比较难查。

故障表象是一帮人嚷嚷作业太慢了,跑不动,但是基本上嚷嚷一会就能跑出来,但相对于原来还是慢。我看了下,确实比较慢,有些作业一个map要半小时,但不是所有作业都这样,部分作业就很快,没有什么规律可循。

好吧,我们来着手分析一下慢查询作业。因为解决以后都嗖嗖的跑完了,所以没有截图。以下完全靠文字描述。

在Yarn里打开某个被投诉慢的作业,进入AM的页面,一路进去到map页面,看到某个map,10多分钟了,才跑了0.2%,这必须不能忍。

  1. 复制该map的作业号。

  2. 进入该map所在的节点,查看该map attempt的进程号。

  3. 查看该进程的系统调用,看到该map进程建立了两个TCP连接,其中一个是某个DN的50010端口,好的,50010端口是数据块传输端口。

  4. 再检查几个慢的map进程,发现一个规律,这些慢的map进程都连接了同一个DN的50010。那么基本可以推定问题出在这个DN上。

  5. 登上这个DN,shutdown掉Datanode和Nodemanager。故障解除,任务又都飞起来了。

到这里故障是排除了,但是原因还不清楚,继续发掘原因。

由于只是慢,而不是完全跑不出来,大不了慢的map reduce attempt最后被kill掉了拿到其他服务器重新跑,但是不会报任何错误日志,系统log也没有错误日志。连WARN基本的都没有。但细心如我,还是发现了问题。

syslog里面的记录

Jun 19 14:05:45 6 kernel: bonding: bond0: link status definitely down for interface em1, disabling itJun 19 14:06:22 6 kernel: tg3 0000:01:00.0: em1: Link is up at 10 Mbps, full duplexJun 19 14:06:22 6 kernel: tg3 0000:01:00.0: em1: Flow control is off for TX and off for RXJun 19 14:06:22 6 kernel: tg3 0000:01:00.0: em1: EEE is disabledJun 19 14:06:22 6 kernel: bond0: link status definitely up for interface em1, 10 Mbps full duplex.

嗯,就是这个。

转载地址:http://ructx.baihongyu.com/

你可能感兴趣的文章
objc 对时间的基本操作。取出时间
查看>>
C语言的编程风格
查看>>
iptables_cacti_nagios
查看>>
Ubuntu麒麟社区的行为准则(Code of Conduct)
查看>>
常用正则表达式总结
查看>>
C++容器类的简介
查看>>
SCTP 关联的建立和终止
查看>>
嵌入式开发之davinci--- mcfw框架介绍
查看>>
利用Google翻译成多国语言的见解
查看>>
164. Maximum Gap
查看>>
ubuntu下一个rootusername入口mysql,如何查看username和password,如何改变rootpassword
查看>>
scala 学习笔记(04) OOP(上)主从构造器/私有属性/伴生对象(单例静态类)/apply方法/嵌套类...
查看>>
使用mysql索引的规则
查看>>
K临近算法
查看>>
第五节,计算机(电脑)简介
查看>>
Linux SHELL脚本
查看>>
跟着百度学习之ThinkPHP的认识/初窥
查看>>
【Code::Blocks】windows 环境下编译 Code::Blocks(已修正)
查看>>
web报表工具FineReport经常使用函数的使用方法总结(日期和时间函数)
查看>>
使用离线文档
查看>>