2013-06-04 26 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

相關問題