Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sqoop import issue - java.lang.IncompatibleClassChangeError: Found class org.apache.hadoop.mapreduce.JobContext, but interface was expected

Tags:

hadoop

sqoop

I'm using Sqoop 1.4.3 with hadoop 1.2.4and hive 0.11.0

When I am trying to do a sqoop import: its throwing up IncompatibleClassChangeError.

Any suggestions to get this fixed..

Sqoop cmd used:

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

Trace:

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)

can any one suggest which version of Sqoop we can configure get this working..?

like image 300
user2450449 Avatar asked Nov 20 '25 04:11

user2450449


1 Answers

You are suffering from a version conflict, most likely you are running code compiled on Hadoop 1.0 on Hadoop 2.0. This is because Hadoop 1.0 and 2.0 are mostly incompatible, so you should make sure to download the version of Sqoop that matches your Hadoop distribution.

For more details, look here.

like image 137
Charles Menguy Avatar answered Nov 24 '25 22:11

Charles Menguy