[原写于2012年6月]

这一阵子在折腾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测试了。