zoukankan      html  css  js  c++  java
  • Hadoop系列(三):hadoop基本测试

    下面是对hadoop的一些基本测试示例

    Hadoop自带测试类简单使用

    这个测试类名叫做 hadoop-mapreduce-client-jobclient.jar,位置在 hadoop/share/hadoop/mapreduce/ 目录下

    不带任何参数可以获取这个jar的帮助信息

    $ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar

    1. TestDFSIO

    用于测试hdfs的IO性能,使用一个mapReduce作业来并发的执行读写操作,每个map任务用于读或写每个文件,map输出用于手机与处理文件相关的统计信息,Reduce用于累计和统计信息,并产生summary。

    1) TestDFSIO write

    例子:向HDFS中写入10个1000M文件

    $ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar TestDFSIO -write -nrFiles 10 -fileSize 1000 -resFile /home/hadoop/hadoop_test/TestDFSIO_write.log
    
    测试结果如下:
    ----- TestDFSIO ----- : write
                Date & time: Thu Nov 15 12:04:51 CST 2018
            Number of files: 10
     Total MBytes processed: 10000
          Throughput mb/sec: 6.29
     Average IO rate mb/sec: 6.39
      IO rate std deviation: 0.87
         Test exec time sec: 230.35
    
    参数说明:
      TestDFSIO     表示测试类型
    	-write      表示写测试
    	-nrFiles    表示往HDFS 写入多少个文件
    	-fileSize   表示写入每个文件的大小
    	-resFile    表示最后的测试结果输出到的文件
    

     2) TestDFSIO read

    例子:从HDFS中读取10个1000M文件

    $ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar TestDFSIO -read -nrFiles 10 -fileSize 1000 -resFile /home/hadoop/hadoop_test/TestDFSIO_read.log
    
    测试结果如下:
    ----- TestDFSIO ----- : read
                Date & time: Thu Nov 15 13:31:10 CST 2018
            Number of files: 10
     Total MBytes processed: 10000
          Throughput mb/sec: 20.23
     Average IO rate mb/sec: 21.09
      IO rate std deviation: 4.26
         Test exec time sec: 97.46
    

    3) 清空测试数据

    $ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar TestDFSIO -clean
    

     2.  nnbench测试 

    nnbench用于测试NameNode的负载,他会产生很多余HDFS相关的请求,给NameNode施加较大的压力。这个测试能在hdfs上模拟创建,读取,重命名和删除文件等操作。

    例子: 使用12个mapper和6个Reduce来创建1000个文件

    $ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar nnbench -operation create_write -maps 12 -reduces 6 
    -blockSize 1 -bytesToWrite 0 -numberOfFiles 1000 -replicationFactorPerFile 3 -readFileAfterOpen true 
    -baseDir /benchmarks/NNBench-`hostname -s`

    3. mrbench测试
    mrbench会多次重复一个小作业,用于检查在集群上小作业的是否可重复以及运行是否可高效,用法如下:

    例子:以下会运行一个小作业一共50次

    $ yarn jar hadoop-mapreduce-client-jobclient-2.8.5.jar mrbench -numRuns 50
    
    测试结果:
    DataLines       Maps    Reduces AvgTime (milliseconds)
    1               2       1       30248
    

     4. mapreduce 排序测试

    生成1G测试数据放到/examples/terasort-input

    $ yarn jar hadoop-mapreduce-examples-2.8.5.jar teragen 10000000 /examples/terasort-input
    

     开始排序

    $ yarn jar hadoop-mapreduce-examples-2.8.5.jar terasort /examples/terasort-input /examples/terasort-output
    /examples/terasort-input         输入目录
    /examples/terasort-output	 输出目录

    查看校验数据

    /examples/terasort-output/part-r-00000

    校验数据为空,排序功能正常

  • 相关阅读:
    git gui 学习
    Java中关于 ArrayList 和 Map 的常用遍历方法 (学习笔记,便于以后查询)
    关于对 NUMA 理解(学习笔记,便于以后查阅)
    Java判断数据库表是否存在的方法
    流程开发Activiti 与SpringMVC整合实例
    shiro权限管理框架与springmvc整合
    Java开发中的23种设计模式详解(转)
    JMS学习之路(一):整合activeMQ到SpringMVC
    SpringMVC中定时任务配置
    RPC远程过程调用学习之路(一):用最原始代码还原PRC框架
  • 原文地址:https://www.cnblogs.com/zhichaoma/p/9962257.html
Copyright © 2011-2022 走看看