4

上一小时我使用 cassandra 没有问题,但现在我运行时无法访问 cassandra,cqlsh它给了我这个:

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

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

提前致谢,

4

6 回答 6

3

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

至于你的连接被拒绝错误,很可能是cassandra没有运行造成的。检查日志文件/var/log/cassandra/*是否有任何异常。

于 2013-11-09T22:29:28.247 回答
2

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

您必须通过命令删除 cassandrapurge并重新安装。

还要检查与 cassandra 的前置要求兼容的 java 版本。(如 cassandra 2.* 需要 java oracle 7.0)

于 2014-03-02T10:38:42.987 回答
2

Cassandra 必须有一个 pid 来献祭给众神。

我不得不欺骗 cassandra 实际重新启动。如果 pid 不存在,重新启动似乎不会继续失败的“停止”操作。所以我用另一个有效的 pid 欺骗了 pid 文件。就我而言,我遇到tail -f/var/log/cassandra/*.log.

我找到了 pid

ps aux | grep tail 

并将该pid放入/var/run/cassandra.pid文件中。这使得

service cassandra restart

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

非常难看。cassandra 初始化脚本需要一些工作。

于 2014-10-28T17:03:14.793 回答
2

我多次遇到这个问题,我总是用以下方法解决它:

sudo chown -R cassandra /var/lib/cassandra

sudo chown -R cassandra /var/log/cassandra

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

希望你觉得它有用。

于 2015-06-16T11:30:36.737 回答
0

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

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

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

希望它有帮助!

于 2017-11-13T14:03:34.620 回答
-1

查看 /var/log/cassandra/(system.log) 中是否发生错误,如果看到肯定有could not access pidfile for Cassandra

于 2017-08-04T15:44:43.063 回答