-1

I have written a job in hadoop 2.2.0, that reads a input file and bulks load the data in cassandra 2.0

However i got the error (its because of difference in distribution of hadoop used in compilation & execution)

[root@hadoopslave ~]# hadoop jar ultra-bulkloader-hadoop.jar
14/07/10 01:08:01 INFO client.RMProxy: Connecting to ResourceManager at /10.211.212.157:8040
Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected
    at org.apache.cassandra.hadoop.BulkOutputFormat.checkOutputSpecs(BulkOutputFormat.java:35)
    at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:456)
    at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:342)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1265)
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286)
    at com.home.task.hadoop.bulkloader.BulkLoaderDriver.run(BulkLoaderDriver.java:38)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
    at com.home.task.hadoop.bulkloader.BulkLoaderDriver.main(BulkLoaderDriver.java:42)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

What is the version of hadoop supported by cassandra 2.0

S Kr
  • 1,831
  • 2
  • 25
  • 50
  • 1
    It's compatibility issue with hadoop 1 / 2 jars. Check this: http://stackoverflow.com/questions/22630323/hadoop-java-lang-incompatibleclasschangeerror-found-interface-org-apache-hadoo and http://stackoverflow.com/questions/21873050/pig-found-interface-org-apache-hadoop-mapreduce-jobcontext-but-class-was-expe – Ramanan Jul 10 '14 at 11:03
  • Yeah i had searched that, but my question is what is the version of hadoop supported by cassandra 2.0. Also someone has marked it as duplicate. But this isn't and is related to query over cassandra's hadoop version – S Kr Jul 10 '14 at 11:28
  • 1
    https://groups.google.com/forum/#!topic/nosql-databases/Y-9amAdZk1s – Ramanan Jul 10 '14 at 11:37
  • Hope someone merges https://github.com/VerticalSearchWorks/cassandra/tree/Cassandra2-CDH4 to main cassandra release – S Kr Jul 10 '14 at 11:42

2 Answers2

0

The fix is available on cassandra 2.0.6

https://issues.apache.org/jira/browse/CASSANDRA-5201

S Kr
  • 1,831
  • 2
  • 25
  • 50
0

I fixed similar issue, updating api from cassandra 1.1.1 to cassandra 2.0.7, as I was running cassandra 2.0.7

      <properties>                                                                                    
              <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>                      
~             <cassandra.version>2.0.7</cassandra.version>                                            
      </properties>  

          <dependency>                                                                                   
              <groupId>org.apache.cassandra</groupId>                                                    
              <artifactId>cassandra-all</artifactId>                                                     
              <version>${cassandra.version}</version>                                                    
              <exclusions>                                                                               
                  <exclusion>                                                                            
                      <artifactId>libthrift</artifactId>                                                 
                      <groupId>org.apache.thrift</groupId>                                               
                  </exclusion>                                                                           
              </exclusions>                                                                              
          </dependency>                                                                                  
          <dependency>                                                                                   
              <groupId>org.apache.cassandra</groupId>                                                    
              <artifactId>cassandra-thrift</artifactId>                                                                                               
              <version>${cassandra.version}</version>                                                    
              <exclusions>                                                                               
                  <exclusion>                                                                            
                      <artifactId>libthrift</artifactId>                                                 
                      <groupId>org.apache.thrift</groupId>                                               
                  </exclusion>                                                                           
              </exclusions>                                                                              
          </dependency>  
prayagupa
  • 30,204
  • 14
  • 155
  • 192