| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package org.apache.hadoop.test; |
| |
| import org.apache.hadoop.io.TestSequenceFile; |
| import org.apache.hadoop.mapred.BigMapOutput; |
| import org.apache.hadoop.mapred.GenericMRLoadGenerator; |
| import org.apache.hadoop.mapred.MRBench; |
| import org.apache.hadoop.mapred.ReliabilityTest; |
| import org.apache.hadoop.mapred.SortValidator; |
| import org.apache.hadoop.mapred.TestMapRed; |
| import org.apache.hadoop.mapred.TestSequenceFileInputFormat; |
| import org.apache.hadoop.mapred.TestTextInputFormat; |
| import org.apache.hadoop.mapred.ThreadedMapBenchmark; |
| import org.apache.hadoop.mapreduce.FailJob; |
| import org.apache.hadoop.mapreduce.SleepJob; |
| import org.apache.hadoop.util.ProgramDriver; |
| |
| import org.apache.hadoop.hdfs.NNBench; |
| import org.apache.hadoop.fs.TestFileSystem; |
| import org.apache.hadoop.fs.TestDFSIO; |
| import org.apache.hadoop.fs.DFSCIOTest; |
| import org.apache.hadoop.fs.DistributedFSCheck; |
| import org.apache.hadoop.io.FileBench; |
| import org.apache.hadoop.fs.JHLogAnalyzer; |
| import org.apache.hadoop.fs.slive.SliveTest; |
| |
| /** |
| * Driver for Map-reduce tests. |
| * |
| */ |
| public class MapredTestDriver { |
| |
| private ProgramDriver pgd; |
| |
| public MapredTestDriver() { |
| this(new ProgramDriver()); |
| } |
| |
| public MapredTestDriver(ProgramDriver pgd) { |
| this.pgd = pgd; |
| try { |
| pgd.addClass("testsequencefile", TestSequenceFile.class, |
| "A test for flat files of binary key value pairs."); |
| pgd.addClass("threadedmapbench", ThreadedMapBenchmark.class, |
| "A map/reduce benchmark that compares the performance " + |
| "of maps with multiple spills over maps with 1 spill"); |
| pgd.addClass("mrbench", MRBench.class, |
| "A map/reduce benchmark that can create many small jobs"); |
| pgd.addClass("mapredtest", TestMapRed.class, "A map/reduce test check."); |
| pgd.addClass("testsequencefileinputformat", |
| TestSequenceFileInputFormat.class, |
| "A test for sequence file input format."); |
| pgd.addClass("testtextinputformat", TestTextInputFormat.class, |
| "A test for text input format."); |
| pgd.addClass("testmapredsort", SortValidator.class, |
| "A map/reduce program that validates the " + |
| "map-reduce framework's sort."); |
| pgd.addClass("testbigmapoutput", BigMapOutput.class, |
| "A map/reduce program that works on a very big " + |
| "non-splittable file and does identity map/reduce"); |
| pgd.addClass("loadgen", GenericMRLoadGenerator.class, |
| "Generic map/reduce load generator"); |
| pgd.addClass("MRReliabilityTest", ReliabilityTest.class, |
| "A program that tests the reliability of the MR framework by " + |
| "injecting faults/failures"); |
| pgd.addClass("fail", FailJob.class, "a job that always fails"); |
| pgd.addClass("sleep", SleepJob.class, |
| "A job that sleeps at each map and reduce task."); |
| pgd.addClass("nnbench", NNBench.class, |
| "A benchmark that stresses the namenode."); |
| pgd.addClass("testfilesystem", TestFileSystem.class, |
| "A test for FileSystem read/write."); |
| pgd.addClass(TestDFSIO.class.getSimpleName(), TestDFSIO.class, |
| "Distributed i/o benchmark."); |
| pgd.addClass("DFSCIOTest", DFSCIOTest.class, "" + |
| "Distributed i/o benchmark of libhdfs."); |
| pgd.addClass("DistributedFSCheck", DistributedFSCheck.class, |
| "Distributed checkup of the file system consistency."); |
| pgd.addClass("filebench", FileBench.class, |
| "Benchmark SequenceFile(Input|Output)Format " + |
| "(block,record compressed and uncompressed), " + |
| "Text(Input|Output)Format (compressed and uncompressed)"); |
| pgd.addClass(JHLogAnalyzer.class.getSimpleName(), JHLogAnalyzer.class, |
| "Job History Log analyzer."); |
| pgd.addClass(SliveTest.class.getSimpleName(), SliveTest.class, |
| "HDFS Stress Test and Live Data Verification."); |
| } catch(Throwable e) { |
| e.printStackTrace(); |
| } |
| } |
| |
| public void run(String argv[]) { |
| try { |
| pgd.driver(argv); |
| } catch(Throwable e) { |
| e.printStackTrace(); |
| } |
| } |
| |
| public static void main(String argv[]){ |
| new MapredTestDriver().run(argv); |
| } |
| } |
| |