You can add something like this to cassandra-env.sh :
JVM_OPTS="$JVM_OPTS
-Dorg.xerial.snappy.tempdir=/path/that/allows/executables"
- Erik -
On 12/28/2013 08:36 AM, Edward Capriolo wrote:
Check your fstabs settings. On some systems /tmp has noexec set and
unpacking a library into temp and trying to run it does not work.
On Fri, Dec 27, 2013 at 5:33 PM, Víctor Hugo Oliveira Molinar
<vhmoli...@gmail.com <mailto:vhmoli...@gmail.com>> wrote:
Hi, I'm not being able to start a multiple node cluster in a
CentOs environment due to snappy loading error.
Here is my current setup for both machines(Node 1 and 2),
CentOs:
CentOS release 6.5 (Final)
Java
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
Cassandra Version:
2.0.3
Also, I've already replaced the current snappy
jar(snappy-java-1.0.5.jar) by the older(snappy-java-1.0.4.1.jar).
Although the following error is still happening when I try to
start the second node:
INFO 20:25:51,879 Handshaking version with /200.219.219.51
<http://200.219.219.51>
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:312)
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:219)
at org.xerial.snappy.Snappy.<clinit>(Snappy.java:44)
at
org.xerial.snappy.SnappyOutputStream.<init>(SnappyOutputStream.java:79)
at
org.xerial.snappy.SnappyOutputStream.<init>(SnappyOutputStream.java:66)
at
org.apache.cassandra.net.OutboundTcpConnection.connect(OutboundTcpConnection.java:359)
at
org.apache.cassandra.net.OutboundTcpConnection.run(OutboundTcpConnection.java:150)
Caused by: java.lang.UnsatisfiedLinkError:
/tmp/snappy-1.0.4.1-libsnappyjava.so
<http://snappy-1.0.4.1-libsnappyjava.so>:
/tmp/snappy-1.0.4.1-libsnappyjava.so
<http://snappy-1.0.4.1-libsnappyjava.so>: failed to map segment
from shared object: Operation not permitted
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1843)
at java.lang.Runtime.load0(Runtime.java:795)
at java.lang.System.load(System.java:1061)
at
org.xerial.snappy.SnappyNativeLoader.load(SnappyNativeLoader.java:39)
... 11 more
ERROR 20:25:52,201 Exception in thread
Thread[WRITE-/200.219.219.51 <http://200.219.219.51>,5,main]
org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)
at org.xerial.snappy.Snappy.<clinit>(Snappy.java:44)
at
org.xerial.snappy.SnappyOutputStream.<init>(SnappyOutputStream.java:79)
at
org.xerial.snappy.SnappyOutputStream.<init>(SnappyOutputStream.java:66)
at
org.apache.cassandra.net.OutboundTcpConnection.connect(OutboundTcpConnection.java:359)
at
org.apache.cassandra.net.OutboundTcpConnection.run(OutboundTcpConnection.java:150)
ERROR 20:26:22,924 Exception encountered during startup
java.lang.RuntimeException: Unable to gossip with any seeds
at
org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1160)
at
org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:416)
at
org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:608)
at
org.apache.cassandra.service.StorageService.initServer(StorageService.java:576)
at
org.apache.cassandra.service.StorageService.initServer(StorageService.java:475)
at
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:346)
at
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:461)
at
org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:504)
What else can I do to fix it?
Att,
/Víctor Hugo Molinar/