Something is happening inside of your (Parameters. readConfigAndLoadExternalData("Config/allLayer1.config");) code, and the framework is killing the job for not heartbeating for 600 seconds
On Tue, Jun 16, 2009 at 8:32 PM, akhil1988 <akhilan...@gmail.com> wrote: > > One more thing, finally it terminates there (after some time) by giving the > final Exception: > > java.io.IOException: Job failed! > at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1217) > at LbjTagger.NerTagger.main(NerTagger.java:109) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.hadoop.util.RunJar.main(RunJar.java:165) > at org.apache.hadoop.mapred.JobShell.run(JobShell.java:54) > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) > at org.apache.hadoop.mapred.JobShell.main(JobShell.java:68) > > > akhil1988 wrote: > > > > Thank you Jason for your reply. > > > > My Map class is an inner class and it is a static class. Here is the > > structure of my code. > > > > public class NerTagger { > > > > public static class Map extends MapReduceBase implements > > Mapper<LongWritable, Text, Text, Text>{ > > private Text word = new Text(); > > private static NETaggerLevel1 tagger1 = new > > NETaggerLevel1(); > > private static NETaggerLevel2 tagger2 = new > > NETaggerLevel2(); > > > > Map(){ > > System.out.println("HI2\n"); > > > > Parameters.readConfigAndLoadExternalData("Config/allLayer1.config"); > > System.out.println("HI3\n"); > > > > Parameters.forceNewSentenceOnLineBreaks=Boolean.parseBoolean("true"); > > > > System.out.println("loading the tagger"); > > > > > tagger1=(NETaggerLevel1)Classifier.binaryRead(Parameters.pathToModelFile+".level1"); > > System.out.println("HI5\n"); > > > > > tagger2=(NETaggerLevel2)Classifier.binaryRead(Parameters.pathToModelFile+".level2"); > > System.out.println("Done- loading the tagger"); > > } > > > > public void map(LongWritable key, Text value, > > OutputCollector<Text, Text> output, Reporter reporter ) throws > IOException > > { > > String inputline = value.toString(); > > > > /* Processing of the input pair is done here */ > > } > > > > > > public static void main(String [] args) throws Exception { > > JobConf conf = new JobConf(NerTagger.class); > > conf.setJobName("NerTagger"); > > > > conf.setOutputKeyClass(Text.class); > > conf.setOutputValueClass(IntWritable.class); > > > > conf.setMapperClass(Map.class); > > conf.setNumReduceTasks(0); > > > > conf.setInputFormat(TextInputFormat.class); > > conf.setOutputFormat(TextOutputFormat.class); > > > > conf.set("mapred.job.tracker", "local"); > > conf.set("fs.default.name", "file:///"); > > > > DistributedCache.addCacheFile(new > > URI("/home/akhil1988/Ner/OriginalNer/Data/"), conf); > > DistributedCache.addCacheFile(new > > URI("/home/akhil1988/Ner/OriginalNer/Config/"), conf); > > DistributedCache.createSymlink(conf); > > > > > > conf.set("mapred.child.java.opts","-Xmx4096m"); > > > > FileInputFormat.setInputPaths(conf, new Path(args[0])); > > FileOutputFormat.setOutputPath(conf, new Path(args[1])); > > > > System.out.println("HI1\n"); > > > > JobClient.runJob(conf); > > } > > > > Jason, when the program executes HI1 and HI2 are printed but it does not > > reaches HI3. In the statement > > Parameters.readConfigAndLoadExternalData("Config/allLayer1.config"); it > is > > able to access Config/allLayer1.config file (as while executing this > > statement, it prints some messages like which data it is loading, etc.) > > but it gets stuck there(while loading some classifier) and never reaches > > HI3. > > > > This program runs fine when executed normally(without mapreduce). > > > > Thanks, Akhil > > > > > > > > > > jason hadoop wrote: > >> > >> Is it possible that your map class is an inner class and not static? > >> > >> On Tue, Jun 16, 2009 at 10:51 AM, akhil1988 <akhilan...@gmail.com> > wrote: > >> > >>> > >>> Hi All, > >>> > >>> I am running my mapred program in local mode by setting > >>> mapred.jobtracker.local to local mode so that I can debug my code. > >>> The mapred program is a direct porting of my original sequential code. > >>> There > >>> is no reduce phase. > >>> Basically, I have just put my program in the map class. > >>> > >>> My program takes around 1-2 min. in instantiating the data objects > which > >>> are > >>> present in the constructor of Map class(it loads some data model files, > >>> therefore it takes some time). After the instantiation part in the > >>> constrcutor of Map class the map function is supposed to process the > >>> input > >>> split. > >>> > >>> The problem is that the data objects do not get instantiated completely > >>> and > >>> in between(whlie it is still in constructor) the program stops giving > >>> the > >>> exceptions pasted at bottom. > >>> The program runs fine without mapreduce and does not require more than > >>> 2GB > >>> memory, but in mapreduce even after doing export HADOOP_HEAPSIZE=2500(I > >>> am > >>> working on machines with 16GB RAM), the program fails. I have also set > >>> HADOOP_OPTS="-server -XX:-UseGCOverheadLimit" as sometimes I was > getting > >>> GC > >>> Overhead Limit Exceeded exceptions also. > >>> > >>> Somebody, please help me with this problem: I have trying to debug it > >>> for > >>> the last 3 days, but unsuccessful. Thanks! > >>> > >>> java.lang.OutOfMemoryError: Java heap space > >>> at > >>> sun.misc.FloatingDecimal.toJavaFormatString(FloatingDecimal.java:889) > >>> at java.lang.Double.toString(Double.java:179) > >>> at java.text.DigitList.set(DigitList.java:272) > >>> at java.text.DecimalFormat.format(DecimalFormat.java:584) > >>> at java.text.DecimalFormat.format(DecimalFormat.java:507) > >>> at java.text.NumberFormat.format(NumberFormat.java:269) > >>> at > >>> org.apache.hadoop.util.StringUtils.formatPercent(StringUtils.java:110) > >>> at > org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1147) > >>> at LbjTagger.NerTagger.main(NerTagger.java:109) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at > >>> > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at > >>> > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at org.apache.hadoop.util.RunJar.main(RunJar.java:165) > >>> at org.apache.hadoop.mapred.JobShell.run(JobShell.java:54) > >>> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) > >>> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) > >>> at org.apache.hadoop.mapred.JobShell.main(JobShell.java:68) > >>> > >>> 09/06/16 12:34:41 WARN mapred.LocalJobRunner: job_local_0001 > >>> java.lang.RuntimeException: java.lang.reflect.InvocationTargetException > >>> at > >>> > org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:81) > >>> at > >>> org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:34) > >>> at > >>> org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:58) > >>> at > >>> > org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:83) > >>> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:328) > >>> at > >>> > org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:138) > >>> Caused by: java.lang.reflect.InvocationTargetException > >>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > >>> Method) > >>> at > >>> > >>> > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > >>> at > >>> > >>> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > >>> at > >>> java.lang.reflect.Constructor.newInstance(Constructor.java:513) > >>> at > >>> > org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:79) > >>> ... 5 more > >>> Caused by: java.lang.ThreadDeath > >>> at java.lang.Thread.stop(Thread.java:715) > >>> at > >>> > org.apache.hadoop.mapred.LocalJobRunner.killJob(LocalJobRunner.java:310) > >>> at > >>> > org.apache.hadoop.mapred.JobClient$NetworkedJob.killJob(JobClient.java:315) > >>> at > org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1224) > >>> at LbjTagger.NerTagger.main(NerTagger.java:109) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at > >>> > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at > >>> > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at org.apache.hadoop.util.RunJar.main(RunJar.java:165) > >>> at org.apache.hadoop.mapred.JobShell.run(JobShell.java:54) > >>> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) > >>> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) > >>> at org.apache.hadoop.mapred.JobShell.main(JobShell.java:68) > >>> > >>> -- > >>> View this message in context: > >>> > http://www.nabble.com/Nor-%22OOM-Java-Heap-Space%22-neither-%22GC-OverHead-Limit-Exeeceded%22-tp24059508p24059508.html > >>> Sent from the Hadoop core-user mailing list archive at Nabble.com. > >>> > >>> > >> > >> > >> -- > >> Pro Hadoop, a book to guide you from beginner to hadoop mastery, > >> http://www.amazon.com/dp/1430219424?tag=jewlerymall > >> www.prohadoopbook.com a community for Hadoop Professionals > >> > >> > > > > > > -- > View this message in context: > http://www.nabble.com/Nor-%22OOM-Java-Heap-Space%22-neither-%22GC-OverHead-Limit-Exeeceded%22-tp24059508p24066426.html > Sent from the Hadoop core-user mailing list archive at Nabble.com. > > -- Pro Hadoop, a book to guide you from beginner to hadoop mastery, http://www.amazon.com/dp/1430219424?tag=jewlerymall www.prohadoopbook.com a community for Hadoop Professionals