这个问题多半是由于运行了多个Cassandra实例造成的错误,看cassandra的启动脚本中可发现这样的语句:
# see CASSANDRA-7254
"$JAVA" -cp $CLASSPATH $JVM_OPTS 2>&1 | grep -q 'Error: Exception thrown by the agent : java.lang.NullPointerException'
if [ $? -ne "1" ]; then
echo Unable to bind JMX, is Cassandra already running?
exit 1;
fi
在conf/cassandra-env.sh文件中的JVM_OPTS设置了JMX的端口为7199,所以这个错误发生在设置java环境的时候,
使用如下方法停止cassandra,然后重启就可解决。
# user=`whoami`
# pgrep -u $user -f cassandra | xargs kill -9
当然也可能是其他程序占用了7199端口, 可用netstat -anlt。