java – Linux x86_ Cassandra startup error 1.2 on 64 six
Try from the latest stable version – 7000 – 1.2 6 installing Cassandra on Linux
I have modified cassndra Yaml points to the custom directory instead of / var because I don't have write access to / var
I saw this error at startup Since the release seems relatively new, no answer can be found on Google Just post it here in case I make a stupid mistake
The same distribution file is in my MacOS x86_ 64 normal operation on the machine
INFO 19:24:35,513 Not using multi-threaded compaction java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(UnkNown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(UnkNown Source) at java.lang.reflect.Method.invoke(UnkNown Source) at org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:322) at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229) at org.xerial.snappy.Snappy.<clinit>(Snappy.java:48) at org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor.java:45) at org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompressor.java:55) at org.apache.cassandra.io.compress.SnappyCompressor.<clinit>(SnappyCompressor.java:37) at org.apache.cassandra.config.CFMetaData.<clinit>(CFMetaData.java:82) at org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:81) at org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:468) at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:123) at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:211) at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:441) at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:484) Caused by: java.lang.UnsatisfiedLinkError: /tmp/snappy-1.0.5-libsnappyjava.so: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /tmp/snappy-1.0.5-libsnappyjava.so) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(UnkNown Source) at java.lang.ClassLoader.loadLibrary0(UnkNown Source) at java.lang.ClassLoader.loadLibrary(UnkNown Source) at java.lang.Runtime.load0(UnkNown Source) at java.lang.System.load(UnkNown Source) at org.xerial.snappy.SnappyNativeLoader.load(SnappyNativeLoader.java:39) ... 17 more
Please put forward possible problems When I find any new content, I will add more results to this page
Look at such threads – Cassandra 1.2 failures to init snappy in FreeBSD
But we still see problems
I tried setting
internode_compression: none
But I still see the same error in the log
Solution
It looks like you (a) are running on a system with snappy 1.0 5 incompatible glibc, and (b) run after upgrading from an earlier version
If you start Cassandra on a non snappy compatible system, it will detect problems and skip compression But when you upgrade and you have compressed system tables, Cassandra can't do it
You can downgrade, upgrade glibc, or downgrade, switch to lz4 and run the upgrade, and then upgrade again
Edit: you may also be able to discard the old 1.0 4 snappy, but delete 1.0 five
Editor 2: is this RHEL 5? Almost anything modern should be similar to snappy-1.0 5 compatible