2013-07-08 23 views
5

我正在使用pig-0.11.0 + 28和CDH4,当我运行任何Pig作业时,出现此异常。我也发生在本地模式。有任何想法吗?Pig java.lang.NoSuchFieldException:jobsInProgress异常

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

您可以尝试用Hadoop纱线制作猪('ant jar-withouthadoop -Dhadoopversion = 23') –

+1

这是一个警告。你可以忽略它。当Pig检测到hadoop的低版本时,它会打印此警告并切换为使用一些低API。 – zsxwing

回答

6

此WARN在运行时是无害的。

猪被设计为与很多版本一起工作。

由于CDH4通过MR1(0.20/1.x)MR框架选项提供Apache Hadoop 2.x,因此Pig在这里对于期望的内容感到困惑。它检测到2.x版本并尝试加载MR2风格的提交器,但是如果您使用MR1,则会打印出嘈杂的WARN并回退到MR1,并且仍然成功进行。该错误后面跟着一条或类似于org.apache.pig.backend.hadoop23.PigJobControl - falling back to default的消息表明这一点。