设为首页 收藏本站
查看: 1634|回复: 0

[经验分享] hadoop性能测试

[复制链接]

尚未签到

发表于 2017-12-17 06:36:56 | 显示全部楼层 |阅读模式
  (一)TestDFSIO
  1、测试写性能
  (1)若有必要,先删除历史数据
  $hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce2/hadoop-mapreduce-client-jobclient-2.3.0-cdh5.1.2-tests.jar TestDFSIO -clean
  (2)执行测试
  $hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce2/hadoop-mapreduce-client-jobclient-2.3.0-cdh5.1.2-tests.jar TestDFSIO -write -nrFiles 5 -fileSize 20
  (3)查看结果:每一次测试生成一个结果,并以附加的形式添加到TestDFSIO_results.log中
  $cat TestDFSIO_results.log
  ----- TestDFSIO ----- : write
  Date & time: Mon May 11 09:41:34 HKT 2015
  Number of files:
  Total MBytes processed: 100.0
  Throughput mb/sec: 21.468441391155004
  Average IO rate mb/sec: 25.366744995117188
  IO rate std deviation: 12.744636924030177
  Test exec time sec: 27.585
  ----- TestDFSIO ----- : write
  Date & time: Mon May 11 09:42:28 HKT 2015
  Number of files: 5
  Total MBytes processed: 100.0
  Throughput mb/sec: 22.779043280182233
  Average IO rate mb/sec: 25.440486907958984
  IO rate std deviation: 9.930490103638768
  Test exec time sec: 26.67
  (4)结果说明
  Total MBytes processed : 总共需要写入的数据量 100MB
  Throughput mb/sec :总共需要写入的数据量/(每个map任务实际写入数据的执行时间之和(这个时间会远小于Test exec time sec))==》100/(map1写时间+map2写时间+...)
  Average IO rate mb/sec :(每个map需要写入的数据量/每个map任务实际写入数据的执行时间)之和/任务数==》(20/map1写时间+20/map2写时间+...)/1000,所以这个值跟上面一个值总是存在差异。
  IO rate std deviation :上一个值的标准差
  Test exec time sec :整个job的执行时间
  2、测试读性能
  (1)执行测试
  $ hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce2/hadoop-mapreduce-client-jobclient-2.3.0-cdh5.1.2-tests.jar TestDFSIO -read -nrFiles 5 -fileSize 20
  (2)查看测试结果
  $ cat TestDFSIO_results.log
  ----- TestDFSIO ----- : read
  Date & time: Mon May 11 09:53:27 HKT 2015
  Number of files: 5
  Total MBytes processed: 100.0
  Throughput mb/sec: 534.75935828877
  Average IO rate mb/sec: 540.4888916015625
  IO rate std deviation: 53.93029580221512
  Test exec time sec: 26.704
  (3)结果说明
  结果各项意思与write相同,但其读速率比写速率快很多,而总执行时间非常接近。真正测试时,应该用较大的数据量来执行,才可体现出二者的差异。
  (二)排序测试
  在api文档中搜索terasort,可查询相关信息。
  排序测试的三个基本步骤:
  生成随机数据??>排序??>验证排序结果
  关于terasort更详细的原理,见http://blog.csdn.net/yuesichiu/article/details/17298563
  1、生成随机数据
  $ hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.3.0-cdh5.1.2.jar  teragen -Dmapreduce.job.maps=5 10000000 /tmp/hadoop/terasort
  此步骤将在hdfs中的 /tmp/hadoop/terasort  中生成数据,
  $  hadoop fs -ls /tmp/hadoop/terasort
  Found 6 items
  -rw-r-----   3 hadoop supergroup          0 2015-05-11 11:32 /tmp/hadoop/terasort/_SUCCESS
  -rw-r-----   3 hadoop supergroup  200000000 2015-05-11 11:32 /tmp/hadoop/terasort/part-m-00000
  -rw-r-----   3 hadoop supergroup  200000000 2015-05-11 11:32 /tmp/hadoop/terasort/part-m-00001
  -rw-r-----   3 hadoop supergroup  200000000 2015-05-11 11:32 /tmp/hadoop/terasort/part-m-00002
  -rw-r-----   3 hadoop supergroup  200000000 2015-05-11 11:32 /tmp/hadoop/terasort/part-m-00003
  -rw-r-----   3 hadoop supergroup  200000000 2015-05-11 11:32 /tmp/hadoop/terasort/part-m-00004
  $ hadoop fs -du -s -h /tmp/hadoop/terasort
  953.7 M  /tmp/hadoop/terasort
  生成的5个数据竟然是每个200M,未解,为什么不是10M???
  2、运行测试
  $hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.3.0-cdh5.1.2.jar  terasort -Dmapreduce.job.maps=5 /tmp/hadoop/terasort /tmp/hadoop/terasort_out
  Spent 354ms computing base-splits.
  Spent 8ms computing TeraScheduler splits.
  Computing input splits took 365ms
  Sampling 10 splits of 10
  Making 1 from 100000 sampled records
  Computing parititions took 6659ms
  Spent 7034ms computing partitions.
  3、验证结果
  $ hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.3.0-cdh5.1.2.jar teravalidate  /tmp/hadoop/terasort_out /tmp/hadoop/terasort_report
  Spent 44ms computing base-splits.
  Spent 7ms computing TeraScheduler splits.
  二、hibench
  hibench4.0测试不成功,使用3.0代替
  1、下载并解压
  wget https://codeload.github.com/intel-hadoop/HiBench/zip/HiBench-3.0.0
  unzip HiBench-3.0.0
  2、修改文件  bin/hibench-config.sh,主要是这几个
  export JAVA_HOME=/home/hadoop/jdk1.7.0_67
  export HADOOP_HOME=/home/hadoop/hadoop
  export HADOOP_EXECUTABLE=/home/hadoop/hadoop//bin/hadoop
  export HADOOP_CONF_DIR=/home/hadoop/conf
  export HADOOP_EXAMPLES_JAR=/home/hadoop/hadoop/share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.3.0-cdh5.1.2.jar
  export MAPRED_EXECUTABLE=/home/hadoop/hadoop/bin/mapred
  #Set the varaible below only in YARN mode
  export HADOOP_JOBCLIENT_TESTS_JAR=/home/hadoop/hadoop/share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.3.0-cdh5.1.2.jar/hadoop-mapreduce-client-jobclient-2.3.0-cdh5.1.2-tests.jar
  3、修改conf/benchmarks.lst,哪些不想运行的将之注释掉
  4、运行
  bin/run-all.sh
  5、查看结果
  在当前目录会生成hibench.report文件,内容如下
  Type         Date       Time     Input_data_size      Duration(s)          Throughput(bytes/s)  Throughput/node
  WORDCOUNT    2015-05-12 19:32:33 251.248
  DFSIOE-READ  2015-05-12 19:54:29 54004092852          463.863              116422505            38807501
  DFSIOE-WRITE 2015-05-12 20:02:57 27320849148          498.132              54846605             18282201
  PAGERANK     2015-05-12 20:27:25 711.391
  SORT         2015-05-12 20:33:21 243.603
  TERASORT     2015-05-12 20:40:34 10000000000          266.796              37481821             12493940
  SLEEP        2015-05-12 20:40:40 0                    .177                 0                    0

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424891-1-1.html 上篇帖子: Hadoop相关基础知识 下篇帖子: Hadoop单机Hadoop测试环境搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表