记一次HDFS性能问题排查

问题表现

HDFS刚上线没有任何问题。就最近现网读写HDFS时,阶段性比较慢,也不是一直都比较慢,慢的时候读取一次需要20秒左右,一般毫秒级就可以返回。

问题分析

慢一次后,紧接着就快。这种表现第一印象就是JVM GC导致的吧。那我就使用jstat进行分析。运行jstat -gcutil [pid] [<interval> [<count>]],(悲哀啊,伟大的华为不让内网对外发布文章,这篇文章只能在家里写,就不可以图文并茂了,sorry),发现每次fullGC都不会超过秒,都是毫秒级。天呢,看来不是JVM GC导致的,此次猜想失败,问题陷入僵局。

总不能坐以待毙吧,那是不是网络问题呢?qperf出场,qperf的更多使用,可以参考网络性能测试工具qperf使用。网络没有发现任何问题,网络也排查在外。

网络、内存都没问题,那就是CPU和I/O了,这两个使用topiostat就可以了,一看CPU和I/O负载都比较低。问题白热化了

看来通过简单的非注入工具问题是解决不了了。问题可复现,这很重要啊,那我就只能自己写个读程序,通过注入性工具查看。

注入性工具,性能问题第一想到的就是strace,查看一下系统调用,时间到底耗在哪儿了。strace的简单使用实例如下:

strace -o sshd.strace -fT -p 5352
strace -o ssh.strace -fT ssh 10.71.171.142

在文件中打印出来的系统调用比较多,虽然只是一个简单的数据读取。因为最后一列是时间,那么我就从一秒到十秒搜索一下吧,最后就发现了一个频繁5秒的调用,当前是timeout。那么通过上下文,发现前面有多次sendto进行重试,内容尽然是hadoop.hadoop.com,这让我想起了kerberos认证,kerberos认证中使用了这个域名,猜想应该是域名解析比较慢。nslookup hadoop.hadoop.com确实比较慢,应该达到了几秒。为什么需要解析hadoop.hadoop.com这个域名呢?认证的时候使用了user/hadoop.hadoop.com@HADOOP.COM,不应该解析才对啊。暂时没时间知道原因,先解决问题,后面再了解原因。域名解析的大致步骤是hosts->本地的域名服务器->指向的外面的域名服务器。那我们就在hosts中先加hadoop.hadoop.com域名吧。重启进程果然解决。

问题根因

  • 那为啥要对hadoop.hadoop.com进行解析呢?

在kerberos官网找到了如下的解释:

服务管理员经常发布希望用户使用的主机名别名,而不是服务主机的规范名称。 这为服务管理员提供了部署服务的更多灵活性。 例如,一个shell登录服务器可能被命名为“long-vanity-hostname.example.com”,但用户自然会喜欢类似“login.example.com”。 MIT Kerberos客户端目前总是执行解析域名和反向解析以规范主机名。参考Principal names and DNS

  • 那为啥现在突然域名解析服务有问题了呢?

原来新增一个服务,为了使用公有云的服务,本地域名服务不可以解析的转向了公有云的域名服务,公有云的域名解析服务有问题,但是推不动(大公司就这个熊样),也只能通过hosts解决了。终极解决方法应该设置域名解析服务的反向解析。
http://www.ttlsa.com/linux/resolv-conf-desc/

问题总结

虽然走了一些弯路,但上面也体现了定位问题的一些通用方法,也不至于无从下手。如果谁有更好的问题定位工具或方法也欢迎交流,我记得刚毕业的时候,还定位过一次内存泄漏(C/C++),最后使用大师教我最笨的二分法定位出来了,有时候最笨的方法,可能是最有效的方法

程序员最开心的就是发现问题,然后通过自己努力解决问题,把自己挖的坑和别人挖的坑(心里默默骂一句)一个个填好。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,633评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,799评论 25 707
  • 转载自 JavaChen Blog,作者:JavaChen 原文链接地址:http://blog.javachen...
    101之歌阅读 5,784评论 0 0
  • 早上起来第一件事就是蒸槐花麦饭,把昨晚就淘洗干净控了水的槐花拌上面粉,揉搓均匀,放大锅里蒸30分钟,出锅后分...
    七月紫苏阅读 424评论 0 0
  • 都说20岁的年龄是青春里最美好的一个时光,大学里每天可以做自己喜欢的事,每天充满活力,偶尔跟对象拉着手欣赏校园...
    我不太冷丸子阅读 299评论 0 2