线上使用了cdh4.2.0,这个版本有几个比较严重的bug,jt 内存泄露和distribute cache阻塞的bug.
(MAPREDUCE-2479和MAPREDUCE-5508)
相关patch:
https://github.com/y-lan/hadoop-cdh4/blob/master/cloudera/patches/1351-MR1-MAPREDUCE-2479.-Move-distributed-cache-cleanup-t.patch
https://github.com/y-lan/hadoop-cdh4/blob/master/cloudera/patches/1494-MR1-MAPREDUCE-5508.-JobTracker-memory-leak-caused-by.patch
最近计划升级至4.6.0,,对4.6.0和4.2.0做了相关的对比测试
数据校验和组件兼容性测试:
测试方法:

1impala测试升级前后数据准确性和性能

结论:

前后结果完全一样(select * order by /count(1) /count(1)+group by

性能变化不大。

wKiom1NX1iGT-U0MAACAlQs1qVk578.jpg

2hive测试升级前后数据准确性和性能(因为时间有限,没有做TPC的测试)

(text gz/rcfile/sequencefile)

load 4Gtext gz文件,分布清洗成rcfilesequencefile

结论:

hive测试数据正常(count(1) /count(1)+group by

性能变化不大,其中因为从text gz清洗至rcfilesequencefile时不能split,只能一个map做处理,耗时比较长,没有取多次的平均值。

其他数据是取多次的平均值。

wKiom1NX1xjAOIR0AADbX35NLsc377.jpg

3flume测试写入

升级前后flume hdfs sink有效性。

结论:

升级前后flume写入hdfs正常,可以直接使用4.2.0hadoop lib做写入操作。