1

我正在尝试在 AWS EMR 中与 ElephantBird 一起运行 Pig 脚本。我正在使用 Hadoop 2.x 来执行此操作,但收到以下消息:

2014-09-09 14:53:11,001 INFO [main] org.apache.hadoop.mapred.MapTask:开始刷新地图输出 2014-09-09 14:53:11,029 INFO [main] org.apache.hadoop.io .compress.CodecPool:得到全新的压缩器 [.snappy] 2014-09-09 14:53:11,040 FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.Counter,但在 com.twitter.elephantbird.pig.load.LzoBaseLoadFunc.incrCounter( LzoBaseLoadFunc.java:70) 在 com.twitter.elephantbird.pig.load.JsonLoader.getNext(JsonLoader.java:128) 在 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader.nextKeyValue(PigRecordReader.java: 211)在 org.apache.hadoop.mapred。MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:544) 在 org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80) 在 org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context。 nextKeyValue(WrappedMapper.java:91) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:775) at org.apache .hadoop.mapred.MapTask.run(MapTask.java:341) 在 org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax。 security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java: 162)第544章.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) 在 org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:775) 在 org.apache.hadoop.mapred.MapTask.run(MapTask .java:341) 在 org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject. java:415) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) 在 org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)第544章.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) 在 org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:775) 在 org.apache.hadoop.mapred.MapTask.run(MapTask .java:341) 在 org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject. java:415) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) 在 org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.hadoop.mapred.MapTask.runNewMapper( MapTask.java:775) 在 org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) 在 org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167) 在 java.security。 AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) at org.apache.hadoop。 mapred.YarnChild.main(YarnChild.java:162)mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91) at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) at org.apache.hadoop.mapred.MapTask.runNewMapper( MapTask.java:775) 在 org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) 在 org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167) 在 java.security。 AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) at org.apache.hadoop。 mapred.YarnChild.main(YarnChild.java:162)MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject .doAs(Subject.java:415) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) 在 org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)MapTask.run(MapTask.java:341) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject .doAs(Subject.java:415) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) 在 org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)

我尝试过使用不同版本的大象鸟(从 3.0.9 到 4.0.x),但它们似乎都不起作用。我将集群降级到 Hadoop 1.x,使用大象鸟没有问题。任何想法?

4

0 回答 0