$cassandra
Cassandra 2.0 and later require Java 7 or later.
好的,init脚本的那部分发生了什么?
java_ver_output=`"${JAVA:-java}" -version 2>&1`
jvmver=`echo "$java_ver_output" | awk -F'"' 'NR==1 {print $2}'`
JVM_VERSION=${jvmver%_*}
JVM_PATCH_VERSION=${jvmver#*_}
if [ "$JVM_VERSION" \< "1.7" ] ; then
echo "Cassandra 2.0 and later require Java 7 or later."
exit 1;
fi
嗯,如果我从命令行获取版本:
$java_ver_output=`"${JAVA:-java}" -version 2>&1`
$echo $java_ver_output
java version "1.7.0_55" Java(TM) SE Runtime Environment (build 1.7.0_55-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
$JVM_VERSION=${jvmver%_*}
$echo $JVM_VERSION
1.7.0
如果我运行哪个java:
$which java
/usr/bin/java
如果我在脚本中添加该行:
/usr/bin/java
令人沮丧的是,我过去已经在运行它,但是由于我跳动服务器,所以无法启动cassandra.
所以我在这里感到困惑,Cassandra对我正在运行的Java版本感到困惑吗?我如何让Cassandra运行? 1.7.0_55不是Java 7(我没有获得Java的命名约定)吗?