2013-06-04 29 views
3

我使用Sqoop 1.4.3hadoop 1.2.4hive 0.11.0Sqoop进口问题 - java.lang.IncompatibleClassChangeError:发现了类org.apache.hadoop.mapreduce.JobContext,但接口预期

当我试图做一个sqoop进口:它扔了IncompatibleClassChangeError.

任何建议,以修复此问题。所用

Sqoop CMD:

sqoop import --connect jdbc:mysql://localhost:3306/employees \ 
    --username test --password test 

跟踪:

Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class org.apache.hadoop.mapreduce.JobContext, but interface was expected 
     at org.apache.sqoop.config.ConfigurationHelper.getJobNumMaps(ConfigurationHelper.java:53) 
     at com.cloudera.sqoop.config.ConfigurationHelper.getJobNumMaps(ConfigurationHelper.java:36) 
     at org.apache.sqoop.mapreduce.db.DataDrivenDBInputFormat.getSplits(DataDrivenDBInputFormat.java:121) 
     at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:1054) 
     at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:1071) 
     at org.apache.hadoop.mapred.JobClient.access$700(JobClient.java:179) 
     at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:983) 
     at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:936) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at javax.security.auth.Subject.doAs(Subject.java:396) 
     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190) 
     at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936) 
     at org.apache.hadoop.mapreduce.Job.submit(Job.java:550) 
     at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:580) 
     at org.apache.sqoop.mapreduce.ImportJobBase.doSubmitJob(ImportJobBase.java:173) 
     at org.apache.sqoop.mapreduce.ImportJobBase.runJob(ImportJobBase.java:151) 
     at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:221) 
     at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:545) 
     at org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:111) 
     at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:403) 
     at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:476) 
     at org.apache.sqoop.Sqoop.run(Sqoop.java:145) 
     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 
     at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181) 
     at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220) 
     at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229) 
     at org.apache.sqoop.Sqoop.main(Sqoop.java:238) 

任何一个可以建议哪些Sqoop的版本中,我们可以配置得到这个工作..?

回答

4

您正在遭受版本冲突,很可能您正在Hadoop 2.0上运行Hadoop 1.0上编译的代码。这是因为Hadoop 1.0和2.0大多不兼容,所以您应该确保下载与您的Hadoop发行版相匹配的Sqoop版本。

欲了解更多详情,请看here

+0

嘿Charles Menguy, 非常感谢您的回复。我会放弃它。与此同时,您是否知道Hadoop和sqoop发行版的任何组合,以便我将使用它们开始。 感谢和问候, Nagashree – user2450449

相关问题