AnsweredAssumed Answered

hadoop - java.lang.RuntimeException: java.lang.InstantiationException

Question asked by naveen on Dec 13, 2013
Latest reply on Apr 27, 2015 by snayeem
I am trying to run a map-reduce program from client side(widows-7), this is the map-reduce class :


        Configuration conf =  new Configuration();
       
        conf.addResource(new Path("C:\\app\\hadoop-2.0.0-cdh4.3.0\\etc\\hadoop\\core-site.xml"));
        conf.addResource(new Path("C:\\app\\hadoop-2.0.0-cdh4.3.0\\etc\\hadoop\\hdfs-site.xml"));
       
        conf.set("fs.defaultFS", "hdfs://host:8020");
        conf.set("mapred.job.tracker", "host:8021");
       
        Job job = new Job(conf, "mapRed");
        job.setMapperClass(MapClass.class);
        //job.setInputFormatClass(org.apache.hadoop.mapreduce.lib.input.TextInputFormat.class);
        int numreducers = 1;
       
        job.setNumReduceTasks(numreducers);
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(Text.class);
       
        Path inp = new Path("/data/test");
          FileInputFormat.addInputPath(job, inp);
          FileOutputFormat.setOutputPath(job, new Path("/data"));
          System.exit(job.waitForCompletion(true) ? 0 : 1);

This program is throwing exception :

        13/12/14 08:27:52 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    Exception in thread "main" java.lang.RuntimeException: java.lang.InstantiationException
        at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:128)
        at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2307)
        at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:87)
        at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2342)
        at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2324)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:351)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:163)
        at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:335)
        at org.apache.hadoop.fs.Path.getFileSystem(Path.java:194)
        at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.addInputPath(FileInputFormat.java:368)
        at org.gridedge.finalytics.MRTemplate.main(MRTemplate.java:55)
    Caused by: java.lang.InstantiationException
        at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:126)
        ... 10 more

I found a simlilar question asked here http://stackoverflow.com/questions/13992063/instantiationexception-in-hadoop-map-reduce-program and i changed FileInputFormat to TextInputFormat :

     TextInputFormat.addInputPath(job, inp);
     TextOutputFormat.setOutputPath(job, new Path("/data"));

Error remains same and its thrown at line `FileInputFormat.addInputPath(job, inp);`

Outcomes