Hadoop的Gridmix2基准测试
1. 把hadoop配置好。
2. 编译gridmix
$ cd hadoop/src/benchmarks/gridmix2
$ ant
$ cp build/gridmix.jar .
3. 修改配置
$ vi gridmix-env-2
export HADOOP_INSTALL_HOME=/home/max/pangusou
export HADOOP_VERSION=hadoop-0.20.2-cdh3u0
export HADOOP_HOME=${HADOOP_INSTALL_HOME}/${HADOOP_VERSION}
export HADOOP_CONF_DIR=${HADOOP_HOME}/conf
export USE_REAL_DATASET=
红字改为TRUE的话,就是2T非压缩数据和500G压缩数据,空着的话否则为500M压缩数据和2G非压缩数据。
export APP_JAR=${HADOOP_HOME}/hadoop-test-0.20.2-cdh3u0.jar
export EXAMPLE_JAR=${HADOOP_HOME}/hadoop-examples-0.20.2-cdh3u0.jar
export STREAMING_JAR=${HADOOP_HOME}/contrib/streaming/hadoop-streaming-0.20.2-cdh3u0.jar
$ vi gridmix_config.xml
基准测试时,这里建议不修改(但是jobs数不改小的话,很难测试过去,经常会导致taskTracker退出)。
4. 产生测试数据
$ chmod +x generateGridmix2data.sh
$ ./ generateGridmix2data.sh
5. 运行测试
$ chmod +x rungridmix_2
$ ./ rungridmix_2
6. 查看测试结果:
Shell上显示最终测试结果,时间越短越好。
GridMix results:
Total num of Jobs: 227
ExecutionTime: 21513 (单位为秒)
从http://masterip:50030上看:
一共有多少个job由gridmix自己决定,但是每类job数由gridmix_config.xml里面的参数决定(gridmix会根据参数计算)。每个job的map数由gridmix计算,基本固定在80,81,最后几个会不一样;每个job的reduce数由gridmix_config.xml里面的参数决定(gridmix会根据参数计算)。gridmix_config.xml里面定义的每一种类型都会执行到。
从http://masterip:50070上看:
/gridmix/data/下有三个目录(WebSimulationBlockCompressed,MonsterQueryBlockCompressed,SortUncompressed),每个目录下都有100个文件,是由generateGridmix2data.sh里面定义的NUM_MAPS=100决定的。
现在正在开发的是Gridmix3,之后会发布。