免费注册
帮助文档(华北一、二)

  • 使用hadoop自带的hadoop-example.jar的teragen生成200GB数据。从10GB开始,每次增加10GB数据作为测试数据源,测试terasort排序时间。生成数据和测试代码如下:

    terasort生成数据和测试代码

     
    #!/bin/bash 
    /home/hadoop/bin/hadoop jar /home/hadoop/hadoop-examples.jar teragen -
    Dmapred.map.tasks=200 10737418240 /terasort/200G-input   
    ${HADOOP_HOME}/bin/hadoop fs -mkdir -p /terasort/in/ 
    ${HADOOP_HOME}/bin/hadoop fs -mv /terasort/in/* /terasort/200G-input/ 
    for i in {1..20} 
    do         
      for f in `${HADOOP_HOME}/bin/hadoop fs -ls /terasort/200G-input/ | 
    grep part | awk '{print $NF}' | head -n 10`         
      do                 
        ${HADOOP_HOME}/bin/hadoop fs -mv $f /terasort/in/         
      done         
      ${HADOOP_HOME}/bin/hadoop fs -rmr /terasort/output         
      echo -n "file count = "         
      ${HADOOP_HOME}/bin/hadoop fs -ls /terasort/in/ | grep part | wc –l         
      echo ""         
      time ${HADOOP_HOME}/bin/hadoop jar /home/hadoop/hadoop-examples.jar 
    terasort -Dmapred.reduce.tasks=50 /terasort/in /terasort/output 
    done

    对4个集群的测试结果如下:

    表3.1 yarn集群terasort测试结果

    耗时(s)

    处理速度(MB/s)

    B2

    B2-x

    D1

    D1-x

    B2

    B2-x

    D1

    D1-x

    10G

    263

    135

    261

    146

    38.94

    75.85

    39.23

    70.14

    20G

    440

    218

    473

    275

    46.55

    93.94

    43.30

    74.47

    30G

    685

    368

    721

    440

    44.85

    83.48

    42.61