hadoop2.2基準テスト

17851 ワード

「hadoop the definitive way」(third version)のBenchmarking a Hadoop Cluster Test Casesのclassは、新しいバージョンではhadoop-*-testを再試行しません.JAr、新しいバージョンでBanchMark Testを行うには、以下の方法を採用する必要があります.
 
1. TestDFSIO
write
TestDFSIOはHDFSのI/O性能をテストし、1つのMapReduce jobでファイルを並列に読み取り/書き込み、各ファイルは独立したmap taskで読み取りまたは書き込みされ、mapの出力はファイルの実行中の統計データを収集するために使用される.
test 1は2つのファイルを書き込み、各10 MB
%yarn jar share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.2.0-tests.jar TestDFSIO -write -nrFiles 

2
 -fileSize 

10
jobのコミット時のconsol出力:
13/11/13 01:59:06 INFO fs.TestDFSIO: TestDFSIO.1.7

13/11/13 01:59:06 INFO fs.TestDFSIO: nrFiles = 2

13/11/13 01:59:06 INFO fs.TestDFSIO: nrBytes (MB) = 10.0

13/11/13 01:59:06 INFO fs.TestDFSIO: bufferSize = 1000000

13/11/13 01:59:06 INFO fs.TestDFSIO: baseDir = /benchmarks/TestDFSIO

13/11/13 01:59:15 INFO fs.TestDFSIO: creating control file: 10485760 bytes, 2 files

13/11/13 01:59:26 INFO fs.TestDFSIO: created control files for: 2 files

13/11/13 01:59:27 INFO client.RMProxy: Connecting to ResourceManager at cluster1/172.16.102.201:8032

13/11/13 01:59:27 INFO client.RMProxy: Connecting to ResourceManager at cluster1/172.16.102.201:8032

13/11/13 01:59:56 INFO mapred.FileInputFormat: Total input paths to process : 2

13/11/13 02:00:21 INFO mapreduce.JobSubmitter: number of splits:2

13/11/13 02:00:28 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1384321503481_0003

13/11/13 02:00:34 INFO impl.YarnClientImpl: Submitted application application_1384321503481_0003 to ResourceManager at cluster1/172.16.102.201:8032

13/11/13 02:00:36 INFO mapreduce.Job: The url to track the job: http://cluster1:8888/proxy/application_1384321503481_0003/

13/11/13 02:00:36 INFO mapreduce.Job: Running job: job_1384321503481_0003

consol出力から次のように表示されます.
(1)最終ファイルのデフォルトはid_に書き込まれるDataフォルダの下の/benchmarks/TestDFSIOフォルダの下、test.build.dataのシステム変数はデフォルト設定を変更できます.
(2)2つのmap task(number of splits:2)は、各ファイルの書き込みまたは読み出しが単独でmap taskとして機能することを証明する
 
jobが走り終わった後のconsole出力:
13/11/13 02:08:15 INFO mapreduce.Job:  map 100% reduce 100%

13/11/13 02:08:17 INFO mapreduce.Job: Job job_1384321503481_0003 completed successfully

13/11/13 02:08:21 INFO mapreduce.Job: Counters: 43

    File System Counters

        FILE: Number of bytes read=174

        FILE: Number of bytes written=240262

        FILE: Number of read operations=0

        FILE: Number of large read operations=0

        FILE: Number of write operations=0

        HDFS: Number of bytes read=468

        HDFS: Number of bytes written=20971595

        HDFS: Number of read operations=11

        HDFS: Number of large read operations=0

        HDFS: Number of write operations=4

    Job Counters 

        Launched map tasks=2

        Launched reduce tasks=1

        Data-local map tasks=2

        Total time spent by all maps in occupied slots (ms)=63095

        Total time spent by all reduces in occupied slots (ms)=14813

    Map-Reduce Framework

        Map input records=2

        Map output records=10

        Map output bytes=148

        Map output materialized bytes=180

        Input split bytes=244

        Combine input records=0

        Combine output records=0

        Reduce input groups=5

        Reduce shuffle bytes=180

        Reduce input records=10

        Reduce output records=5

        Spilled Records=20

        Shuffled Maps =2

        Failed Shuffles=0

        Merged Map outputs=2

        GC time elapsed (ms)=495

        CPU time spent (ms)=3640

        Physical memory (bytes) snapshot=562757632

        Virtual memory (bytes) snapshot=2523807744

        Total committed heap usage (bytes)=421330944

    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=224

    File Output Format Counters 

        Bytes Written=75

13/11/13 02:08:23 INFO fs.TestDFSIO: ----- TestDFSIO ----- : write

13/11/13 02:08:23 INFO fs.TestDFSIO:            Date & time: Wed Nov 13 02:08:22 PST 2013

13/11/13 02:08:23 INFO fs.TestDFSIO:        Number of files: 2

13/11/13 02:08:23 INFO fs.TestDFSIO: Total MBytes processed: 20.0

13/11/13 02:08:23 INFO fs.TestDFSIO:      Throughput mb/sec: 0.5591277606933184

13/11/13 02:08:23 INFO fs.TestDFSIO: Average IO rate mb/sec: 0.5635650753974915

13/11/13 02:08:23 INFO fs.TestDFSIO:  IO rate std deviation: 0.05000733272172887

13/11/13 02:08:23 INFO fs.TestDFSIO:     Test exec time sec: 534.566

13/11/13 02:08:23 INFO fs.TestDFSIO:

 
図からmap task 2,reduce task 1が見られ、統計結果には平均I/Oレート、全体レート、job実行時間、書き込みファイル数がある.
read
%yarn jar share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.2.0-tests.jar TestDFSIO -read  -nrFiles 2 -fileSize 10

よく分析しないで、自分でやってみます.
2. MapReduce Test with Sort
hadoopはMapReduceシステム全体をテストできるMapReduceプログラムを提供しています.このベンチマークテストは3つのステップに分かれています.
#random dataの生成
# sort data
# validate results
手順は次のとおりです.
1.random dataの生成
yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter random-data

RandomWriterでrandom dataを生成する、yarnでRandomWriterを実行するとMapReduce jobが起動し、nodeごとにデフォルトで10個のmap taskが起動し、mapごとに1 GBのrandom dataが生成する.
デフォルトパラメータの変更:test.randomwriter.maps_per_host, test.randomwrite.bytes_per_map
2. sort data
yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar sort random-data sorted-data

 
3.validate results
yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar testmapredsort –sortInput randomdata –sortOutput sorted-data

the commandはSortValidatorプログラムを起動します.このプログラムでは、unsortedとsorted dataが正確かどうかを確認するなど、いくつかの列をチェックします.
3.その他のTests
MRBench–invoked by mrbench、このプログラムは1つのプログラムを起動して、何度も実行します
NNBench–invoked by nnbench,namenodeでの負荷テスト
Gridmix--興味ない