2013-07-08 19 views
5

Używam świni-0.11.0 + 28 z CDH4 i kiedy uruchomię jakiekolwiek zadanie Pig otrzymuję ten wyjątek. Zdarza się też w trybie lokalnym. Jakieś pomysły?Świnia java.lang.NoSuchFieldException: jobsInProgress wyjątek

2013-07-08 13:53:44,035 [main] WARN org.apache.pig.backend.hadoop23.PigJobControl - falling back to default JobControl (not using hadoop 0.23 ?) 
    java.lang.NoSuchFieldException: jobsInProgress 
    at java.lang.Class.getDeclaredField(Class.java:1938) 
    at org.apache.pig.backend.hadoop23.PigJobControl.<clinit>(PigJobControl.java:58) 
    at org.apache.pig.backend.hadoop.executionengine.shims.HadoopShims.newJobControl(HadoopShims.java:102) 
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.compile(JobControlCompiler.java:285) 
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:177) 
    at org.apache.pig.PigServer.launchPlan(PigServer.java:1266) 
    at org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1251) 
    at org.apache.pig.PigServer.execute(PigServer.java:1241) 
    at org.apache.pig.PigServer.executeBatch(PigServer.java:335) 
    at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:137) 
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198) 
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:170) 
    at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84) 
    at org.apache.pig.Main.run(Main.java:604) 
    at org.apache.pig.Main.main(Main.java:157) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:208) 
+0

Możesz spróbować zbudować świni przeciwko Hadoop Yarn ('ant jar-withouthadoop -Dhadoopversion = 23') –

+1

To jest ostrzeżenie. Możesz to zignorować. Gdy Pig wykryje niską wersję hadoop, wydrukuje to ostrzeżenie i przełączy się na używanie słabych API. – zsxwing

Odpowiedz

6

Ten WARN jest nieszkodliwy w czasie pracy.

Świnia jest przeznaczona do pracy z wieloma wersjami.

Ponieważ CDH4 dostarcza Apache Hadoop 2.x z opcją MR MR MR (0.20/1.x), Pig jest coraz bardziej zdezorientowany, czego można się spodziewać. Wykrywa wersję 2.x i próbuje załadować aplikację obsługującą MR2, ale jeśli użyjesz MR1, wydrukowałby ten głośny WARN i powrócił do MR1 i nadal działał pomyślnie. Po błędzie pojawia się komunikat podobny lub podobny do tego, który wskazuje to.