hadoop与午睡
这一阵子在折腾hadoop集群上linux kernel的优化,开始没机器,只好悲惨的用虚拟机来装,但是kvm虚拟机又不给力,虚拟机之间死活连不上,最后终于等到柯旻同学婚假归来,支援了我几台线下测试机,刘毅同学帮我搭了环境,终于可以见到活生生的hadoop运行状态。
接下来是两周的运行观察和调试。
目前为止最大的进展是揪出一个2.6.32(upstream也有)的一个pagevec引发的性能退化,见patch。
然后,考虑到hadoop里,源数据一般只读一次,目标结果也只写一次,cache没什么用,所以我们很想试试新版带有cache抛弃功能(所谓的drop-behind)的hadoop,我看hadoop-0.23.1有此功能,于是想在测试集群里跑起来。
没想到hadoop-0.23.1比0.19变了那么多,配置文件的名字变了、配置项变了、连resource manager也变了,我在网上翻了不少文章,试了好多配置方法,hadoop的log报了不少WARN(无非都是某些配置项名字变了),好像这些WARN也不影响运行,但最后却只能在单机上跑任务....诸多毛病,我折腾了两个工作日外加一个周末,还是没能把最基本的terasort在多机上run起来....这五个白天看了不知道多少hadoop那无病呻吟却又提供不了多少帮助的log。
昨天(星期天)睡午觉,梦见早上起床要去上班,提起裤子准备穿,突然发现裤子上有妈妈绣的字:”WARN:此裤子颜色已经发旧,不要再穿“,我心想,不就是”WARN“嘛,又不是”ERROR“或者”FATAL“,于是我还是把裤子穿上了。等到醒来,不禁失笑。
今天早上,找到了吴威同学,还是专家有办法:别再搭郁闷的hadoop-0.23.1了,搭cdh3u4!吴威同学三下五除二把cdh搭好,我终于能跑上terasort测试了。
相关文章
- 解block层死锁 - 12 19, 2012
- EMC USD组 招聘 - 09 24, 2012
- hadoop集群上捉到linux kernel bug一个 (答读者提问) - 08 31, 2012
看链接中的patch,hadoop也用sync_file_range达到细粒度操控写缓存的目的,不过对于低于2.6.18版本的内核没法使用,backport系统调用也不太合适,只能从用户态想办法了
所以,即使对互联网公司来说,维护一个新的linux kernel也是很重要的。
当然,很多人意识不到这一点。
大部分互联网公司里的“牛人”总说:”我们把旧应用重构一下,就是几倍的性能提升,你内核吭哧吭哧的就5~10%的性能改进,有什么意义?”,是啊,我也觉得没什么意义,我只是好奇等到公司足够成熟,没有那么多遗留的低性能旧应用了,牛人们靠什么来做“几倍的性能提升”?