Ubuntu 无法访问Cassandra的PID文件
上个小时我与cassandra合作时没有问题,但现在我无法访问cassandra,因为我运行了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/
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