NNBench执行过程跟参数说明
NNBench执行过程和参数说明
需求:
基于NNBench测namenode的负载
测试参数说明:
-operation -maps mapper数 -reduces reducer数 -startTime 开始时间 -blockSize block size -bytesToWrite 文件写入字节数单位为b -bytesPerChecksum 条件blockSize % bytesPerChecksum == 0 -numberOfFiles 生成的文件数 -replicationFactorPerFile -baseDir 根路径 -readFileAfterOpen
执行过程:
0.输入检查是否合法 1.cleanupBeforeTestrun 删除已有的基于-baseDir的数据 2.createControlFiles 生成控制文件基于baseDir/CONTROL_DIR_NAME/NNBench_Controlfile_i(numberOfMaps) 3.执行mapper的时候基于controlfile生成mapper个数,每个mapper基于operation 进行相应的操作,如doCreateWriteOp每个mapper又基于numberOfFiles生成numberOfFiles个文件 此处针对OP_CREATE_WRITE有个bug,那么就是写的文件基于host的,那么当一个计算节点启动多个mapper的时候就会重复写,也就是并发写,因此此处是个小缺陷 4.执行reducer时写入统计的信息 5.对写入的统计信息做分析出result
举例:
bin/hadoop jar share/hadoop/mapreduce2/hadoop-mapreduce-client-jobclient-2.3.0-cdh5.0.0-tests.jar nnbench -operation create_write -maps 4 -reduces 2 -bytesToWrite 1 -numberOfFiles 2 -replicationFactorPerFile 3 -readFileAfterOpen true -baseDir /benchmarks/NNBench