Cassandra启动java.lang.reflect.InvocationTargetException [英] Cassandra Startup java.lang.reflect.InvocationTargetException
问题描述
可能是此异常的解决方案
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:322)
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)
at org.xerial.snappy.Snappy。< clinit>(Snappy.java:48)
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)
引发者:java.lang.UnsatisfiedLinkError:/ tmp / snappy-1.0.5-libsnappyjava.so:/tmp/snappy-1.0.5-libsnappyjava.so:无法从共享对象映射段:不允许操作
在java.lang.ClassLoader $ NativeLibrary.load(Native方法)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882)
at java.lang.ClassLoader .loadLibrary(ClassLoader.java:1843)
在java.lang.Runtime.load0(Runtime.java:795)
在java.lang.System.load(System.java:1061)
at org.xerial.snappy.SnappyNativeLoader.load(SnappyNativeLoader.java:39)
... 11 more
错误11:46:22,430异常在线程线程[WRITE- / 172.20.6.138,5 ,main]
org.xerial.snappy.SnappyError:[FAILED_TO_LOAD_NATIVE_LIBRARY] null
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:239)
at org.xerial.snappy .Snappy。< clinit>(Snappy.java:48)
at org.xerial.snappy.SnappyOutputStream。< init>(SnappyOutputStream.java:79)
at org.xerial.snappy.SnappyOutputStream 。< init>(SnappyOutputStream.java:66)
在org.apache.cassandra.net.OutboundTcpConnection.connect(OutboundTcpConnection.java:359)
at org.apache.cassandra.net.OutboundTcpConnection。 run(OutboundTcpConnection.java:150)
但是cassandra启动执行会继续。和最后我得到异常
java.lang.IllegalStateException:无法联系任何种子!
at org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:947)
at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:716)
在org.apache.cassandra.service.StorageService.initServer(StorageService.java:554)
在org.apache.cassandra.service.StorageService.initServer(StorageService.java:451)
在org.apache .cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:347)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:446)
at org.apache.cassandra.service .CassandraDaemon.main(CassandraDaemon.java:489)
启动期间遇到异常:无法联系任何种子!
错误11:55:11,732线程异常[StorageServiceShutdownHook,5,main]
java.lang.NullPointerException
at org.apache.cassandra.service.StorageService.stopRPCServer(StorageService.java:321)
at org.apache.cassandra.service.StorageService.shutdownClientServers(StorageService.java:370)
at org.apache.cassandra.service.StorageService.access $ 000(StorageService.java:88)
at org.apache.cassandra.service.StorageService $ 1.runMayThrow(StorageService.java:519)
在org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
在java.lang .Thread.run(Thread.java:724)
正在运行。
我也试过更改默认tmp目录。我尝试包括JVM_OPTS = -Dorg.xerial.snappy.tempdir = / tmp到cassandra.in.sh文件,但问题仍然存在。
Linux版本2.6.32- 358.6.1.el6.x86_64(mockbuild@c6b9.bsys.dev.centos.org)(gcc版本4.4.7 20120313(Red Hat 4.4.7-3)(GCC))#1 SMP Tue Apr 23 19:29: 00 UTC 2013
请帮助我..提前感谢。
p>他们在Cassandra JIRA中提到了这个错误:
https:// issues .apache.org / jira / browse / CASSANDRA-4400
我有一个类似Cassandra 1.2的错误,我通过替换snappy 1.0来修复它。 5库与 snappy 1.0.4.1 。如果该链接不起作用,您应该能够从早期版本的Cassandra(如1.1.x)抓取它。
基本上,删除snappy-java .1.0.5.jar从 $ CASSANDRA_HOME / lib
目录中替换为snappy-java-1.0.4.1.jar
What could be the solution for this exception
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:322)
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)
at org.xerial.snappy.Snappy.<clinit>(Snappy.java:48)
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.5-libsnappyjava.so: /tmp/snappy-1.0.5-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 11:46:22,430 Exception in thread Thread[WRITE-/172.20.6.138,5,main]
org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null
at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:239)
at org.xerial.snappy.Snappy.<clinit>(Snappy.java:48)
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)
But the cassandra startup execution is continue. and at the end i am getting exception
java.lang.IllegalStateException: Unable to contact any seeds!
at org.apache.cassandra.service.StorageService.bootstrap(StorageService.java:947)
at org.apache.cassandra.service.StorageService.joinTokenRing(StorageService.java:716)
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:554)
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:451)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:347)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:446)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:489)
Exception encountered during startup: Unable to contact any seeds!
ERROR 11:55:11,732 Exception in thread Thread[StorageServiceShutdownHook,5,main]
java.lang.NullPointerException
at org.apache.cassandra.service.StorageService.stopRPCServer(StorageService.java:321)
at org.apache.cassandra.service.StorageService.shutdownClientServers(StorageService.java:370)
at org.apache.cassandra.service.StorageService.access$000(StorageService.java:88)
at org.apache.cassandra.service.StorageService$1.runMayThrow(StorageService.java:519)
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
at java.lang.Thread.run(Thread.java:724)
but the seeds nodes are running.
Machine firewall is disabled.
I also tried changing default tmp directory. I tried including JVM_OPTS=-Dorg.xerial.snappy.tempdir=/tmp to cassandra.in.sh file but the problem is remains.
Linux version 2.6.32-358.6.1.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Tue Apr 23 19:29:00 UTC 2013
please help me.. thanks in advance.
They mention this error here in the Cassandra JIRA: https://issues.apache.org/jira/browse/CASSANDRA-4400
I had a similar error with Cassandra 1.2, and I fixed it by replacing the snappy 1.0.5 library with the snappy 1.0.4.1. If that link doesn't work, you should be able to grab that from an earlier version of Cassandra (like 1.1.x).
Basically, remove the snappy-java.1.0.5.jar from your $CASSANDRA_HOME/lib
directory, and replace it with snappy-java-1.0.4.1.jar
这篇关于Cassandra启动java.lang.reflect.InvocationTargetException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!