无法访问Cassandra的pidfile

我和cassandra一起工作,上个小时没有问题,但现在当我运行cqlsh时,我无法访问cassandra,它给了我这个:

 Connection error: Could not connect to localhost:9160 

所以我试过这个:

 sudo service cassandra status 

它给了我这个:

xss = -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+ UseThreadPriorities -XX:ThreadPriorityPolicy = 42 -Xms1024M -Xmx1024M -Xmn200M -XX:+ HeapDumpOnOutOfMemoryError -Xss256k

  • 无法访问Cassandra的pidfile

我能做些什么来解决这个问题?

提前致谢,

删除之前,您可能会忘记停止cassandra。

您必须通过purge命令删除cassandra并再次安装。

还要检查一下你的java版本兼容预先要求的cassandra(如cassandra 2. *需要java的oracle 7.0)

pid文件位于/var/run/cassandra.pid 。 检查它是否存在,并且root用户对它有读/写权限。 还要确保root拥有/var/run rwx权限。

至于你的连接拒绝错误,最可能的原因是cassandra不能运行。 检查/var/log/cassandra/*的日志文件是否有任何异常。

卡桑德拉必须有一个祭祀神。

我不得不欺骗cassandra到实际重新启动。 似乎重启不会继续失败的“停止”行动,如果该pid不是真的在那里。 所以我用另一个有效的pid欺骗了pid文件。 在我的情况下,我有一个tail -f运行在/var/log/cassandra/*.log

我找到了pid

 ps aux | grep tail 

并将该pid放入/var/run/cassandra.pid文件中。 这允许了

 service cassandra restart 

杀死一个进程并继续重启。

十分难看。 cassandra初始化脚本需要一些工作。

我有这个问题多次,我总是解决它:

sudo chown -R cassandra / var / lib / cassandra

sudo chown -R cassandra / var / log / cassandra

这在Ubuntu服务器14.04和Debian Wheezy上。

希望你觉得它有用。

我遇到了同样的问题。 我正在做一些测试,当我突然关闭系统并重新启动时,当我尝试检查Cassandra的状态时,出现这个错误。

该pid文件具有在关闭之前正在运行的Cassandra服务的进程ID。 Cassandra没有正常停止时会发生这种情况。 所以,我强制杀死僵尸进程,并再次启动cassandra。

 kill -9 `ps -ef | grep cassandra | grep -v grep | awk {'print $2'}` service cassandra start 

希望它的帮助!

检查/var/log/cassandra/(system.log)中是否发生错误,如果发现could not access pidfile for Cassandra