Hadoop 클러스터 성능 테스트

7355 단어
전언
테스트 방법
임시로 실시되는 작은 테스트인데, 주요 목적은 집단의IO를 테스트하는 것이다.현재 두 가지 측면에서 테스트를 진행하는데 그것이 바로 시스템 등급과 집단 등급이다.
클러스터 환경
  • 10대의 물리적 컴퓨터, 64G 메모리, 2T 하드 드라이브.
  • cdh5.x

  • 공구.
    테스트 과정에서 사용된 도구입니다.
  • dd
  • hdparm
  • iperf
  • hadoop benchmark

  • 시스템 수준 테스트
    클러스터 노드 테스트를 통해 블록 쓰기 40G는 49초, 디스크 쓰기 IO는 873MB/s, 읽기 IO는 1022.49MB/s, 포인트 투 포인트 네트워크 IO는 110MB/s 정도 소요
    디스크 입출력
    디스크 쓰기:
    time dd if=/dev/zero of=/data/test.txt bs=1M count=40960
    40960+0 records in
    40960+0 records out
    42949672960 bytes (43 GB) copied, 49.1891 s, 873 MB/s
    
    real    0m49.201s
    user    0m0.012s
    sys    0m44.990s
    

    디스크 읽기:
    # hdparm -tT --direct /dev/vdb1
    
    /dev/vdb1:
     Timing O_DIRECT cached reads:   3286 MB in  2.00 seconds = 1613.15 MB/sec
     Timing O_DIRECT disk reads: 3000MB in  3.01 seconds = 1022.49 MB/sec

    네트워크 입출력
    네트워크 전송, P2P copy, 평균 101.6MB/s 전송
    iperf가 측정한 평균 네트워크 IO는 110MB/s이다
    Hadoop Benchmark
    Benchmark 도구
    인터넷에 Benchmark 도구가 매우 많은데 대체로 다음과 같은 몇 가지가 있다.
  • Hadoop 자체 Test
  • intel HiBench
  • 중과원의 BigDataBench
  • berkeley의benchmark
  • ebay의 Benchmark(이름이 기억이 안 나요)
  • 이것은 현재 내가 찾은 비교적 유명한 몇 개의 Hadoopbenchmark다.범위를 좁힌 후 세 개 중 하나를 선택할 준비를 하세요.사실 이것은 각기 특징이 있지만 이번에는 IO만 테스트하고 집단적인 루트 권한도 나에게 없는 것을 감안하여 비교적 편리한hadoop이 자체로 가지고 있는 것을 사용했다.
    각본
    작은 각본을 썼다.
    jar_path=hadoop-test-mr1.jar
    main_class=TestDFSIO
    
    echo "  hadoop    !"
    echo "-------------------------------------------------------------"
    
    echo "      !"
    
    hadoop jar $jar_path $main_class -clean
    
    echo "        !"
    echo "-------------------------------------------------------------"
    
    echo "  10000 10B   "
    hadoop jar $jar_path $main_class -write -nrFiles 1000 -size "10B"
    hadoop jar $jar_path $main_class -read -nrFiles 1000 -size "10B"
    
    ......
    
    hadoop jar $jar_path $main_class -clean
    
    echo "       !"
    echo "-------------------------------------------------------------"
    
    echo "  5 100G   "
    hadoop jar $jar_path $main_class -write -nrFiles 5 -size "100GB"
    hadoop jar $jar_path $main_class -read -nrFiles 5 -size "100GB"
    

    테스트 결과
    모든 테스트는 현재 디렉터리TestDFSIO_results.log에 새로운 테스트 결과를 추가합니다.
    ----- TestDFSIO ----- : write
               Date & time: Tue Apr 12 12:20:18 CST 2016
           Number of files: 1000
    Total MBytes processed: 0.009536743
         Throughput mb/sec: 9.813281434897923E-5
    Average IO rate mb/sec: 9.844686428550631E-5
     IO rate std deviation: 5.294680350263851E-6
        Test exec time sec: 184.055
    
    ----- TestDFSIO ----- : read
               Date & time: Tue Apr 12 12:23:37 CST 2016
           Number of files: 1000
    Total MBytes processed: 0.009536743
         Throughput mb/sec: 0.0029361893978024937
    Average IO rate mb/sec: 0.003687877906486392
     IO rate std deviation: 0.002046490931134166
        Test exec time sec: 184.024

    그림 1.
    테스트 결과 그래프가 안 나와요.
    2016-04-12 15:13:00 hzct
    출처:http://blog.csdn.net/zhaodedong http://zhaodedong.leanote.com http://zhaodedong.com

    좋은 웹페이지 즐겨찾기