Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu 无法访问Cassandra的PID文件_Ubuntu_Cassandra - Fatal编程技术网

Ubuntu 无法访问Cassandra的PID文件

Ubuntu 无法访问Cassandra的PID文件,ubuntu,cassandra,Ubuntu,Cassandra,上个小时我与cassandra合作时没有问题,但现在我无法访问cassandra,因为我运行了cqlsh它给了我以下信息: Connection error: Could not connect to localhost:9160 所以我试了一下: sudo service cassandra status 它给了我这个: Connection error: Could not connect to localhost:9160 xss=-ea-javaagent:/usr/share/

上个小时我与cassandra合作时没有问题,但现在我无法访问cassandra,因为我运行了
cqlsh
它给了我以下信息:

Connection error: Could not connect to localhost:9160
所以我试了一下:

sudo service cassandra status 
它给了我这个:

Connection error: Could not connect to localhost:9160
xss=-ea-javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar-XX:+UseThreadPriorities- XX:ThreadPriorityPolicy=42-Xms1024M-Xmx1024M-Xmn200M-XX:+heapdumponautofmemoryerror-Xss256k

  • 无法访问Cassandra的PID文件
我能做些什么来解决这个问题


提前感谢,

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


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

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

必须通过
purge
命令删除cassandra,然后重新安装


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

cassandra必须有一个pid才能祭祀神

我不得不骗卡桑德拉重新开始。如果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上实现的


希望您觉得它有用。

检查/var/log/cassandra/(system.log)中是否出现错误,如果您看到
无法访问cassandra的pidfile,则肯定会有一些错误。我正在做一些测试,当我突然关闭系统并重新启动时,我在检查卡桑德拉的状态时出现了这个错误

pid文件具有Cassandra服务的进程ID,该服务在关闭前运行。如果卡桑德拉没有正确停止,就会发生这种情况。 所以,我用这种方式强制杀死了僵尸进程,并再次启动了卡桑德拉

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

希望对你有帮助

还要检查:PID也可能位于
/var/run/cassandra/cassandra.PID