使用Java Oracle 7运行cassandra 1.1.9时出现问题

使用Java Oracle 7运行cassandra 1.1.9时出现问题,java,cassandra,cookbook,Java,Cassandra,Cookbook,我是cassandra的新手,我正在尝试用JAVA oracle 7安装cassandra 1.1.9,但我遇到以下错误: cassandra -f xss = -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms1862M -Xmx1862M -Xmn200M -XX:+HeapDumpOnOutOfMemoryE

我是cassandra的新手,我正在尝试用JAVA oracle 7安装cassandra 1.1.9,但我遇到以下错误:

cassandra -f
    xss =  -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms1862M -Xmx1862M -Xmn200M -XX:+HeapDumpOnOutOfMemoryError -Xss256k
    Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/cassandra/service/CassandraDaemon : Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
因为我在报纸上看到的 这是源代码和Java版本之间的不兼容,但对我来说似乎没有问题:

ubuntu@localhost:~$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode) 

有人知道我可能遗漏了什么吗?

在启动cassandra add的shell脚本的开头

export JAVA_HOME=/path/to/java_v7
export PATH=$JAVA_HOME/bin:$PATH

它应该会有所帮助

您可能正在Cassandra中使用不同的java二进制文件。您的cassandra脚本找到了哪个二进制文件?你有JAVA_主页吗?事实上你是对的,我的JAVA_主页指向另一个版本:$echo$JAVA_HOME
/opt/JAVA/64/jdk1.6.0_38
和$which JAVA
/usr/bin/JAVA
。Cassandra用户JAVA_HOME找到二进制文件了吗?看来我在/HOME/ubuntu/.profile上设置了JAVA_HOME,所以我用这行代码创建了一个/HOME/ubuntu/.bash_文件,为我工作。谢谢!