Bir harita zinciri çalıştırmak istiyorum işleri azaltmak, böylece en kolay çözüm iş denetleyicisi gibi görünüyor. Benim iki işim var, iş1 ve iş2. ve işten sonra işi2 çalıştırmak istiyorum. Eh, bazı problemlerle karşı karşıya. Ben kodu çalıştırırken bu çıktıyı almaya devamhadoop'ta birden fazla MapReduce iş yürütüyor
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
Ne sanırım benim sorunum için bir türlü ilişkili olmasıdır "hata ayıklama saat sonra, ben bu hatlara kodunu daralmış JMV başlatılamıyor .... "satırı. O nedir? Ve onları JobController'a iletmek için birden fazla işi nasıl oluşturabilirim.
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 ilk işi çıktı klasörü, ben için giriş olmak istiyorum: Ben ikinci bir iş başlatılırken önce (true) job1.waitForTheCompletion eklendiğinde
, bana bu hatayı verdi ikinci olan. Ve kodumda bu waitForCompletion satırına sahip olmamasına rağmen, hala bu yolun mevcut olmadığından şikayet ediyor.
Hadoop belgeleri kesinlikle mükemmel olandan daha azdır. Unutmayın ki, beni hiç unutmamak gerekir ki, InputSplit'in alt sınıflarının Yazılabilir'i uygulamak zorunda olduğunu öğrenmem gerekiyordu. Bunu bir yere InputSplit belgelerinde anlatacaklarını düşünürdünüz. Ben hâlâ, ilk önce bir kavanoz haline getirmeden başarılı bir şekilde bir dolandırıcılık işi yürütmeyi başaramadım. – dspyz