【发布时间】:2017-12-03 12:11:42
【问题描述】:
我有一个mapreduce 代码在我的本地运行良好。然后当我在远程服务器上运行它时,我得到了这个执行
Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.avro.mapreduce.AvroKeyInputFormat not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2195)
at org.apache.hadoop.mapreduce.task.JobContextImpl.getInputFormatClass(JobContextImpl.java:174)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:749)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
在我的IntelliJ ide 中,我有一个外部库avro-mapred-1.7.7-hadoop2.jar,我从中构建了工件。当我解压工件的jar 时,我发现正确,并且在org.apache.avro.mapreduce 包中正确找到了AvroKeyInputFormat。那么我在这里缺少什么?
我检查了一些SO 的帖子,但没有找到相关答案
【问题讨论】:
标签: java hadoop mapreduce avro