ITPub博客

首页 > 大数据 > Hadoop > 一次网络异常的Hadoop trouble shooting 过程

一次网络异常的Hadoop trouble shooting 过程

原创 Hadoop 作者:tom_fans 时间:2017-06-30 11:33:29 0 删除 编辑
实际来说,这个案例大概是1年半之前发生的,在我上一家公司,整个集群大概60个节点, 机器配置大概是128G,24vcores,1T*4硬盘。 因为要迁移,也就是从一个机房迁移到另外一个机房。

这里对Hadoop 迁移不做具体描述,当时发生一件事,就是我们新机房的HADOOP和老机房的不管从硬件,还是从软件基本是一样的,但是在测试阶段发现,之前正常的JOB或者说程序,在新Hadoop上有时候正常,有时候异常,所谓异常是说JOB以前执行5分钟的,现在要执行1个小时,甚至执行失败,而且没有规则,现在执行成功,下一次就失败,或者执行很长时间。

开发找到我的时候和我说这事,说他们在迁移过程,发现很奇怪的事,就是上面我描述的问题。 当时其实我也没有太多思路,为什么会发生这个情况,于是只能根据日志查询,发现mapreduce日志里失败的JOB一定有找不到HDFS Block的错误,而正常结束的却没有。

于是我把方向对准HDFS,通过HDFS客户端上传文件,下载文件,整个表现和JOB表现一模一样,也就是说通过HDFS也存在上述问题,那很显然,整个环境是有问题的,和JOB本身无关。那我们现在就是要找到原因,到底是什么导致这个问题的。

我先通过磁盘测试工具测试磁盘,发现从磁盘角度一切正常,也就是说如果从单个磁盘的测试,没有发现问题,通过系统工具也检查了磁盘没有报错,还使用cloudera manager检查,显示一切正常,zabbix 对网络,CPU,内存的监控没有任何痕迹表示机器有问题。

因为还处在测试阶段,因此我决定重装整个环境,把系统全部格式化,系统重新安装,然后测试表现依然相同,大大的问号在我脑子里,为什么? 

于是我又回归到日志,主要是mapreduce和HDFS日志,HDFS会出现找不到BLOCK的错误,mapreduce日志同样的错误,其实就是说因为nodemanager去获取HDFS数据,找不到,但是我根据目录地址去看,BLOCK是存在的。 

做技术的都知道,碰到这种问题不是不想睡,是睡不着,半夜我起来把Yarn以及mapreduce的知识点和原理重新整理了一次,然后按照日志一步一步往下看,最后发现时报的JOB一定包含一台nodemanager,而正常完成的JOB没有那台nodemanager, 这个发现给了我思路。于是我关闭那台机器,再重新跑JOB,一切正常了。

那台机器到底出现了什么问题? 于是我再次开启,登入进去,发现一个明显问题,其他机器直接就登入了,唯有那一台机器会有大概1-2秒的暂停,我TOP一下,没有发现异常,然后PING一下,问题出来了,丢了1个包。 第二天通知网络工程师检查,结果是因为双网卡的端口绑错了一个。

上述出现的问题给了我2个思考, 一个是HADOOP原理的重要性,找到这个故障的原因完全是因为对Yarn以及mapreduce原理重新解读了一次,真正干活的时候好像和原理无关,实际等出现问题就会发现,原理如此重要。

另外就是对于Hadoop集群,因为网络的故障,一台机器导致整个集群不能正常工作,那么如何监控网络? 很明显zabbix没有监控到这次异常,丢一个包监控不到。 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17036462/viewspace-2141423/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Hbase常用参数
请登录后发表评论 登录
全部评论

注册时间:2011-05-19

  • 博文量
    15
  • 访问量
    14126