尝试从最新的稳定版本在 Linux 上安装 cassandra -http://cassandra.apache.org/download/ - 1.2.6
我已修改 cassndra.yaml 以指向自定义目录而不是 /var,因为我没有 /var 的写访问权限
我在启动时看到此错误。由于该版本似乎相对较新,因此无法在谷歌上找到任何答案。只是将其发布在这里,以防我犯了一个愚蠢的错误。
相同的分发文件在我的 macos x86_64 机器上运行良好。
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
请建议可能是什么问题。当我发现任何新内容时,我还将向此页面添加更多发现。
看了这个所以线程 -cassandra 1.2 无法在 freebsd 中初始化 snappy
但是仍然看到问题。
我尝试过设置
internode_compression: none
但是在日志中仍然看到相同的错误。
看起来您 (a) 在一个与 glibc 不兼容的 snappy 1.0.5 系统上运行,并且 (b) 从可以运行的早期版本升级。
如果您在不兼容 Snappy 的系统上重新启动 Cassandra,它会检测问题并跳过压缩。但是当您升级并且压缩了系统表时,Cassandra 无能为力。
你可以降级,可以升级glibc,也可以降级,切换到lz4并运行upgradesstables,然后再次升级。
编辑:您也可以直接将旧的 1.0.4 snappy 放入,然后删除 1.0.5。
编辑 2:这是 RHEL 5 吗?几乎所有现代的东西都应该与 snappy-1.0.5 兼容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)