我和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
- 安装pymongo的工程,但在python3导入失败
- 如何在ubuntu 12.0.4上添加usr / local / bin到path环境variables?
- 无法从VirtualBox中的Ubuntu服务器上的git拉
- 对于nltk.download()HTTP:代理身份validation错误
- Shift键在我的emacs中不起作用
- 无法访问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