当我启动cassandra服务器时,我收到此错误

时间:2013-05-31 06:47:23

标签: cassandra cassandra-cli

[root @ SudeepMangu bin]#。/ cassandra -f

xss = -ea -javaagent:/home/sudeep/apache-cassandra-1.2.5-src/lib/jamm-0.2.5.jar -XX:+ UseThreadPriorities -XX:ThreadPriorityPolicy = 42 -Xms930M -Xmx930M - Xmn200M -XX:+ HeapDumpOnOutOfMemoryError -Xss160k

线程“main”中的异常java.lang.NoClassDefFoundError: * org / apache / cassandra / service / CassandraDaemon * 引起:java.lang.ClassNotFoundException:org.apache.cassandra.service.CassandraDaemon     在java.net.URLClassLoader $ 1.run(URLClassLoader.java:202)     at java.security.AccessController.doPrivileged(Native Method)     在java.net.URLClassLoader.findClass(URLClassLoader.java:190)     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)     在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)     at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 无法找到主要类:org.apache.cassandra.service.CassandraDaemon。程序将退出。

2 个答案:

答案 0 :(得分:3)

我打赌你是在Windows下启动服务器。

  

线程“main”中的异常 java.lang.NoClassDefFoundError

您收到此异常是因为您尚未设置CASSANDRA_HOME变量,因此当您启动服务器时,您正在尝试找到Cassandra的路径,但您不能,因为该路径是使用该环境变量构建的

只需添加系统变量:

setx CASSANDRA_HOME "C:\path\to\cassandra\"    // Windows
export CASSANDRA_HOME=/path/to/cassandra/      // Unix 

cmd中执行此操作只需要您打开一个新提示。您也可以使用Windows中的GUI approach来执行此操作。

答案 1 :(得分:1)

如果您没有管理权限,那么您可能希望将其添加到cassandra.bat文件中

set CASSANDRA_HOME="C:\Program Files\apache-cassandra-1.2.8"