Cassandra启动java.lang.reflect.InvocationTargetException [英] Cassandra Startup java.lang.reflect.InvocationTargetException

查看:1025
本文介绍了Cassandra启动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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆