|
@@ -28,6 +28,7 @@ import org.apache.hadoop.mapred.TestMapRed;
|
|
import org.apache.hadoop.mapred.TestSequenceFileInputFormat;
|
|
import org.apache.hadoop.mapred.TestSequenceFileInputFormat;
|
|
import org.apache.hadoop.mapred.TestTextInputFormat;
|
|
import org.apache.hadoop.mapred.TestTextInputFormat;
|
|
import org.apache.hadoop.mapred.ThreadedMapBenchmark;
|
|
import org.apache.hadoop.mapred.ThreadedMapBenchmark;
|
|
|
|
+import org.apache.hadoop.mapreduce.TimelineServicePerformance;
|
|
import org.apache.hadoop.mapreduce.FailJob;
|
|
import org.apache.hadoop.mapreduce.FailJob;
|
|
import org.apache.hadoop.mapreduce.LargeSorter;
|
|
import org.apache.hadoop.mapreduce.LargeSorter;
|
|
import org.apache.hadoop.mapreduce.MiniHadoopClusterManager;
|
|
import org.apache.hadoop.mapreduce.MiniHadoopClusterManager;
|
|
@@ -55,60 +56,62 @@ import org.apache.hadoop.fs.slive.SliveTest;
|
|
public class MapredTestDriver {
|
|
public class MapredTestDriver {
|
|
|
|
|
|
private ProgramDriver pgd;
|
|
private ProgramDriver pgd;
|
|
-
|
|
|
|
|
|
+
|
|
public MapredTestDriver() {
|
|
public MapredTestDriver() {
|
|
this(new ProgramDriver());
|
|
this(new ProgramDriver());
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
public MapredTestDriver(ProgramDriver pgd) {
|
|
public MapredTestDriver(ProgramDriver pgd) {
|
|
this.pgd = pgd;
|
|
this.pgd = pgd;
|
|
try {
|
|
try {
|
|
- pgd.addClass("testsequencefile", TestSequenceFile.class,
|
|
|
|
|
|
+ pgd.addClass("testsequencefile", TestSequenceFile.class,
|
|
"A test for flat files of binary key value pairs.");
|
|
"A test for flat files of binary key value pairs.");
|
|
- pgd.addClass("threadedmapbench", ThreadedMapBenchmark.class,
|
|
|
|
- "A map/reduce benchmark that compares the performance " +
|
|
|
|
|
|
+ pgd.addClass("threadedmapbench", ThreadedMapBenchmark.class,
|
|
|
|
+ "A map/reduce benchmark that compares the performance " +
|
|
"of maps with multiple spills over maps with 1 spill");
|
|
"of maps with multiple spills over maps with 1 spill");
|
|
- pgd.addClass("mrbench", MRBench.class,
|
|
|
|
|
|
+ pgd.addClass("mrbench", MRBench.class,
|
|
"A map/reduce benchmark that can create many small jobs");
|
|
"A map/reduce benchmark that can create many small jobs");
|
|
pgd.addClass("mapredtest", TestMapRed.class, "A map/reduce test check.");
|
|
pgd.addClass("mapredtest", TestMapRed.class, "A map/reduce test check.");
|
|
- pgd.addClass("testsequencefileinputformat",
|
|
|
|
- TestSequenceFileInputFormat.class,
|
|
|
|
|
|
+ pgd.addClass("testsequencefileinputformat",
|
|
|
|
+ TestSequenceFileInputFormat.class,
|
|
"A test for sequence file input format.");
|
|
"A test for sequence file input format.");
|
|
- pgd.addClass("testtextinputformat", TestTextInputFormat.class,
|
|
|
|
|
|
+ pgd.addClass("testtextinputformat", TestTextInputFormat.class,
|
|
"A test for text input format.");
|
|
"A test for text input format.");
|
|
- pgd.addClass("testmapredsort", SortValidator.class,
|
|
|
|
|
|
+ pgd.addClass("testmapredsort", SortValidator.class,
|
|
"A map/reduce program that validates the " +
|
|
"A map/reduce program that validates the " +
|
|
"map-reduce framework's sort.");
|
|
"map-reduce framework's sort.");
|
|
- pgd.addClass("testbigmapoutput", BigMapOutput.class,
|
|
|
|
|
|
+ pgd.addClass("testbigmapoutput", BigMapOutput.class,
|
|
"A map/reduce program that works on a very big " +
|
|
"A map/reduce program that works on a very big " +
|
|
"non-splittable file and does identity map/reduce");
|
|
"non-splittable file and does identity map/reduce");
|
|
- pgd.addClass("loadgen", GenericMRLoadGenerator.class,
|
|
|
|
|
|
+ pgd.addClass("loadgen", GenericMRLoadGenerator.class,
|
|
"Generic map/reduce load generator");
|
|
"Generic map/reduce load generator");
|
|
pgd.addClass("MRReliabilityTest", ReliabilityTest.class,
|
|
pgd.addClass("MRReliabilityTest", ReliabilityTest.class,
|
|
"A program that tests the reliability of the MR framework by " +
|
|
"A program that tests the reliability of the MR framework by " +
|
|
"injecting faults/failures");
|
|
"injecting faults/failures");
|
|
pgd.addClass("fail", FailJob.class, "a job that always fails");
|
|
pgd.addClass("fail", FailJob.class, "a job that always fails");
|
|
- pgd.addClass("sleep", SleepJob.class,
|
|
|
|
|
|
+ pgd.addClass("sleep", SleepJob.class,
|
|
"A job that sleeps at each map and reduce task.");
|
|
"A job that sleeps at each map and reduce task.");
|
|
- pgd.addClass("nnbench", NNBench.class,
|
|
|
|
|
|
+ pgd.addClass("timelineperformance", TimelineServicePerformance.class,
|
|
|
|
+ "A job that launches mappers to test timlineserver performance.");
|
|
|
|
+ pgd.addClass("nnbench", NNBench.class,
|
|
"A benchmark that stresses the namenode w/ MR.");
|
|
"A benchmark that stresses the namenode w/ MR.");
|
|
pgd.addClass("nnbenchWithoutMR", NNBenchWithoutMR.class,
|
|
pgd.addClass("nnbenchWithoutMR", NNBenchWithoutMR.class,
|
|
"A benchmark that stresses the namenode w/o MR.");
|
|
"A benchmark that stresses the namenode w/o MR.");
|
|
- pgd.addClass("testfilesystem", TestFileSystem.class,
|
|
|
|
|
|
+ pgd.addClass("testfilesystem", TestFileSystem.class,
|
|
"A test for FileSystem read/write.");
|
|
"A test for FileSystem read/write.");
|
|
- pgd.addClass(TestDFSIO.class.getSimpleName(), TestDFSIO.class,
|
|
|
|
|
|
+ pgd.addClass(TestDFSIO.class.getSimpleName(), TestDFSIO.class,
|
|
"Distributed i/o benchmark.");
|
|
"Distributed i/o benchmark.");
|
|
pgd.addClass("DFSCIOTest", DFSCIOTest.class, "" +
|
|
pgd.addClass("DFSCIOTest", DFSCIOTest.class, "" +
|
|
"Distributed i/o benchmark of libhdfs.");
|
|
"Distributed i/o benchmark of libhdfs.");
|
|
- pgd.addClass("DistributedFSCheck", DistributedFSCheck.class,
|
|
|
|
|
|
+ pgd.addClass("DistributedFSCheck", DistributedFSCheck.class,
|
|
"Distributed checkup of the file system consistency.");
|
|
"Distributed checkup of the file system consistency.");
|
|
- pgd.addClass("filebench", FileBench.class,
|
|
|
|
|
|
+ pgd.addClass("filebench", FileBench.class,
|
|
"Benchmark SequenceFile(Input|Output)Format " +
|
|
"Benchmark SequenceFile(Input|Output)Format " +
|
|
"(block,record compressed and uncompressed), " +
|
|
"(block,record compressed and uncompressed), " +
|
|
"Text(Input|Output)Format (compressed and uncompressed)");
|
|
"Text(Input|Output)Format (compressed and uncompressed)");
|
|
- pgd.addClass(JHLogAnalyzer.class.getSimpleName(), JHLogAnalyzer.class,
|
|
|
|
|
|
+ pgd.addClass(JHLogAnalyzer.class.getSimpleName(), JHLogAnalyzer.class,
|
|
"Job History Log analyzer.");
|
|
"Job History Log analyzer.");
|
|
- pgd.addClass(SliveTest.class.getSimpleName(), SliveTest.class,
|
|
|
|
|
|
+ pgd.addClass(SliveTest.class.getSimpleName(), SliveTest.class,
|
|
"HDFS Stress Test and Live Data Verification.");
|
|
"HDFS Stress Test and Live Data Verification.");
|
|
pgd.addClass("minicluster", MiniHadoopClusterManager.class,
|
|
pgd.addClass("minicluster", MiniHadoopClusterManager.class,
|
|
"Single process HDFS and MR cluster.");
|
|
"Single process HDFS and MR cluster.");
|