View

Benchmark tool on hadoop cluster - 하둡 클러스터 성능분석 도구(1)

TestDFSIO : 스토리지 성능 분석 도구 


개요

- 하둡 분산 환경에서 클러스터 성능 분석을 수행을 위한 도구

- 비교하고자 하는 대상들의 스토리지의 특성을 파악하기 유용하다.
    > 테스트에 사용하고자 하는 파일의 크기 및 개수를 쉽게 설정 할 수 있다.
    > write , read, append에 대한 through put을 결과로 얻을 수 있다. 

- 기본적으로 하둡 릴리즈에서 hadoop-mapreduce-client-jobclient-*-tests.jar로 패키지되어 제공된다. 

- 각 작업들은 mapreduce를 통해 수행된다. (reduce는 결과 출력을 위해 사용되며, 1개로 고정)  



사용법

- yarn jar 명령어를 통해서 수행한다. 
- 데이터 파일 등을 hdfs에 저장(/benchmarks/TestDFSIO)함으로 hdfs 권한이 있는 사용자로 수행해야 한다.   

$ sudo -u hdfs  yarn jar [hadoop-mapreduce path]/hadoop-mapreduce-client-jboclient*-tests.jar TestDFSIO [genericOptions] -read [-random | -backward | -skip [-skipSize Size]] | -write | -append | -truncate | -clean [-compression codecClassName] [-nrFiles N] [-size Size[B|KB|MB|GB|TB]] [-resFile resultFileName] [-bufferSize Bytes] [-rootDir]

- read, write, append, truncate, clean 중 하나의 수행 옵션을 선택하여 수행해야 한다. 

- nrFiles N 설정을 통해 생성할 파일 개수를 설정한다. ( 파일 당 control file이 하나씩 생성되고, 각각 mapper로 수행된다.)    

- size 명령은 각 파일의 크기를 설정한다. 

- resFile 테스트 결과를 저장할 경로(local)를 설정한다. 


실행예제

$ sudo -u hdfs yarn jar /engine/bigdata/hadoop-mapreduce/hadoop-mapreduce-*-tests.jar TestDFSIO -write -nrFiles 5 -size 100MB -resFile /home/hdfs/benchmark/TestDFSIO/writeTest01
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/engine/bigdata/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/engine/bigdata/tez/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
18/12/07 07:43:39 INFO fs.TestDFSIO: TestDFSIO.1.8
18/12/07 07:43:39 INFO fs.TestDFSIO: nrFiles = 5
18/12/07 07:43:39 INFO fs.TestDFSIO: nrBytes (MB) = 100.0
18/12/07 07:43:39 INFO fs.TestDFSIO: bufferSize = 1000000
18/12/07 07:43:39 INFO fs.TestDFSIO: baseDir = /benchmarks/TestDFSIO
18/12/07 07:43:41 INFO fs.TestDFSIO: creating control file: 104857600 bytes, 5 files
18/12/07 07:43:41 INFO fs.TestDFSIO: created control files for: 5 files
18/12/07 07:43:42 INFO client.RMProxy: Connecting to ResourceManager at data01.com/XX.XX.XX.XX:8050
18/12/07 07:43:42 INFO client.AHSProxy: Connecting to Application History server at data02.com/XX.XX.XX.XX:10200
18/12/07 07:43:42 INFO client.RMProxy: Connecting to ResourceManager at data01.com/XX.XX.XX.XX:8050
18/12/07 07:43:42 INFO client.AHSProxy: Connecting to Application History server at data02.com/XX.XX.XX.XX:10200
18/12/07 07:43:42 INFO mapred.FileInputFormat: Total input paths to process : 5
18/12/07 07:43:42 INFO mapreduce.JobSubmitter: number of splits:5
18/12/07 07:43:43 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1538386321123_0364
18/12/07 07:43:43 INFO impl.YarnClientImpl: Submitted application application_1538386321123_0364
18/12/07 07:43:43 INFO mapreduce.Job: The url to track the job: http://data01.com:8088/proxy/application_1538386321123_0364/
18/12/07 07:43:43 INFO mapreduce.Job: Running job: job_1538386321123_0364
18/12/07 07:43:52 INFO mapreduce.Job: Job job_1538386321123_0364 running in uber mode : false
18/12/07 07:43:52 INFO mapreduce.Job:  map 0% reduce 0%
18/12/07 07:44:05 INFO mapreduce.Job:  map 33% reduce 0%
18/12/07 07:44:06 INFO mapreduce.Job:  map 100% reduce 0%
18/12/07 07:44:13 INFO mapreduce.Job:  map 100% reduce 100%
18/12/07 07:44:13 INFO mapreduce.Job: Job job_1538386321123_0364 completed successfully
18/12/07 07:44:14 INFO mapreduce.Job: Counters: 49
        File System Counters
                FILE: Number of bytes read=426
                FILE: Number of bytes written=909725
                FILE: Number of read operations=0
                FILE: Number of large read operations=0
                FILE: Number of write operations=0
                HDFS: Number of bytes read=1165
                HDFS: Number of bytes written=524288076
                HDFS: Number of read operations=23
                HDFS: Number of large read operations=0
                HDFS: Number of write operations=7
        Job Counters
                Launched map tasks=5
                Launched reduce tasks=1
                Data-local map tasks=5
                Total time spent by all maps in occupied slots (ms)=113992
                Total time spent by all reduces in occupied slots (ms)=39792
                Total time spent by all map tasks (ms)=56996
                Total time spent by all reduce tasks (ms)=4974
                Total vcore-milliseconds taken by all map tasks=56996
                Total vcore-milliseconds taken by all reduce tasks=4974
                Total megabyte-milliseconds taken by all map tasks=116727808
                Total megabyte-milliseconds taken by all reduce tasks=40747008
        Map-Reduce Framework
                Map input records=5
                Map output records=25
                Map output bytes=370
                Map output materialized bytes=450
                Input split bytes=605
                Combine input records=0
                Combine output records=0
                Reduce input groups=5
                Reduce shuffle bytes=450
                Reduce input records=25
                Reduce output records=5
                Spilled Records=50
                Shuffled Maps =5
                Failed Shuffles=0
                Merged Map outputs=5
                GC time elapsed (ms)=4599
                CPU time spent (ms)=29490
                Physical memory (bytes) snapshot=7780016128
                Virtual memory (bytes) snapshot=27531587584
                Total committed heap usage (bytes)=7650410496
        Shuffle Errors
                BAD_ID=0
                CONNECTION=0
                IO_ERROR=0
                WRONG_LENGTH=0
                WRONG_MAP=0
                WRONG_REDUCE=0
        File Input Format Counters
                Bytes Read=560
        File Output Format Counters
                Bytes Written=76
18/12/07 07:44:14 INFO fs.TestDFSIO: ----- TestDFSIO ----- : write
18/12/07 07:44:14 INFO fs.TestDFSIO:            Date & time: Fri Dec 07 07:44:14 KST 2018
18/12/07 07:44:14 INFO fs.TestDFSIO:        Number of files: 5
18/12/07 07:44:14 INFO fs.TestDFSIO: Total MBytes processed: 500.0
18/12/07 07:44:14 INFO fs.TestDFSIO:      Throughput mb/sec: 20.07628990162618
18/12/07 07:44:14 INFO fs.TestDFSIO: Average IO rate mb/sec: 20.101755142211914
18/12/07 07:44:14 INFO fs.TestDFSIO:  IO rate std deviation: 0.7194760377963402
18/12/07 07:44:14 INFO fs.TestDFSIO:     Test exec time sec: 32.209


소스코드


Share Link
reply
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31