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