में एकाधिक मैपराइडस नौकरियां चला रहा है, मैं मानचित्र की एक श्रृंखला को नौकरी कम करना चाहता हूं, इसलिए सबसे आसान समाधान जॉब कंट्रोलर लगता है। कहो मेरे पास दो नौकरियां हैं, जॉब 1 और जॉब 2। और मैं जॉब 1 के बाद जॉब 2 चलाने के लिए चाहता हूं। खैर, यह कुछ समस्याओं का सामना करना पड़ा।हडूप
JobConf jobConf1 = new JobConf();
JobConf jobConf2 = new JobConf();
System.out.println("*** Point 1");
Job job1 = new Job(jobConf1);
System.out.println("*** Point 2");
Job job2 = new Job(jobConf2);
System.out.println("*** Point 3");
मैं जब कोड चलाने इस उत्पादन प्राप्त करते रहने के:
*** Point 1
10/12/06 17:19:30 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
*** Point 2
10/12/06 17:19:30 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
*** Point 3
क्या मुझे लगता है कि मेरी समस्या किसी भी तरह से संबंधित है "डीबगिंग के घंटे के बाद, मैं इन पंक्तियों के लिए कोड को संकुचित होता जेएमवी शुरू नहीं कर सकता .... "लाइन। वो क्या है? और मैं जॉबकंट्रोलर को पास करने के लिए, एक से अधिक नौकरी को तुरंत कैसे चालू कर सकता हूं।
10/12/07 11:28:21 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with processName=JobTracker, sessionId= - already initialized
Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: file:/home/workspace/WikipediaSearch/__TEMP1
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:224)
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:241)
at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:885)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:779)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:432)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:447)
at ch.ethz.nis.query.HadoopQuery.run(HadoopQuery.java:353)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at ch.ethz.nis.query.HadoopQuery.main(HadoopQuery.java:308)
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:156)
__Temp1 पहली नौकरी के उत्पादन फ़ोल्डर है, जो मैं के लिए इनपुट होना चाहते हैं:
जब मैं दूसरे काम आरंभ करने से पहले job1.waitForTheCompletion (सही) जोड़ा, यह मेरे इस त्रुटि दे दी है दूसरा एक। और भले ही मेरे पास यह कोड है मेरे कोड में पूर्ण प्रक्रिया, यह अभी भी शिकायत कर रहा है कि यह पथ मौजूद नहीं है।
हैडोप दस्तावेज निश्चित रूप से बिल्कुल सही से कम है। मुझे याद है कि यह हमेशा मुझे यह जानने के लिए ले गया कि इनपुटस्प्लिट के उप-वर्गों को लिखने योग्य को लागू करना है। आपको लगता है कि वे कहीं इनपुट इनपुट दस्तावेज़ में उल्लेख करेंगे। मैं अभी भी पहले एक जार में पैकेजिंग किए बिना एक हडूप नौकरी सफलतापूर्वक चलाने में कामयाब नहीं रहा हूं। – dspyz