Running Cassandra 1.2-beta on JDK 7 w/ Mac OSX: no snappyjava in java.library.path
Join the DZone community and get the full member experience.Join For Free
The latest greatest Cassandra (1.2-beta) now uses snappy-java for
compression. Unfortunately for now, Cassandra uses 184.108.40.206 version of
snappy-java. That version of snappy-java doesn't play well with JDK 7
on Mac OSX.
There is a known bug:
The fix is in the latest milestone release:
Until that is formally released and Cassandra upgrades its dependency, if you want to run Cassandra under JDK 7 on Mac OSX, follow the instructions at the bottom of this issue. Basically, unzip the snappy-java jar file and copy the jni library into $CASSANDRA_HOME. You can see below that I used the jar file from my m2 repo.
bone@zen:~/.m2/repository/org/xerial/snappy/snappy-java/220.127.116.11-> unzip snappy-java-18.104.22.168.jar | grep Mac | grep jni 44036 10-05-11 10:34 org/xerial/snappy/native/Mac/i386/libsnappyjava.jnilib 49792 10-05-11 10:34 org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib
Copy the libsnappyjava.jnilib file into Cassandra, and you should be good to go. If you used the version in your m2, thats:
cp ~/.m2/repository/org/xerial/snappy/snappy-java/22.214.171.124/org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib .
Alternatively, if you are building Cassandra from source, you can upgrade the snappy-java version yourself (in the build.xml).
BTW, Cassandra is tracking this under issue:
Published at DZone with permission of Brian O' Neill, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.