You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Curt Allred <cu...@mediosystems.com> on 2011/02/07 21:07:03 UTC

RE: hadoop library conflict with cassandra (hector) 0.7

Hello,
I'm trying to access a Cassandra 0.7 cluster in a hadoop map-reduce job (hadoop 0.20.2) and seeing a thrift library conflict.  Hadoop uses an older version of thrift than hector 0.7, and this older version is getting picked up by my job, causing the following exception:

FATAL org.apache.hadoop.mapred.TaskTracker: Error running child :
java.lang.NoSuchMethodError: org.apache.thrift.protocol.TProtocol.writeBinary(Ljava/nio/ByteBuffer;)V

The ByteBuffer overload of that method is not in the older thrift library.

I have verified that the correct version of thrift (libthrift-0.5.0.jar) is in my map-reduce job's jar.  However its using the older version in the hadoop library.

Here are a couple of hadoop tickets on the issue:
https://issues.apache.org/jira/browse/MAPREDUCE-1700
https://issues.apache.org/jira/browse/MAPREDUCE-1938

Anyone find a way around this? (besides modifying the hadoop cluster library which is not an option for me).
Thanks,
-Curt