环境配置:
Ubuntu20.04
在线安装的Cassandra 3.x.x
open jdk 1.8+
问题描述:
cassandra启动失败,cqlsh报错拒绝连接,问题如下:
Connection error: ('Unable to connect to any servers', {'127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})
原因分析:
cassandra因权限问题无法在相应的位置创建数据文件,导致不法启动
解决方案:
一,使用 cassandra -R,发现/var/lib/下的cassandra没有权限无法创建相应的文件夹及文件
二,更改权限(找到该位置/var/lib/)
更改/var/lib/下的 cassandra/目录权限
命令:(xx:为你当前用户名)
sudo shown xx:xx cassandra/
二,再使用 cassandra -R
然后 cqlsh 启动 cassandra就行了
四,注意: 若还启动失败 或 日志中还出现这些权限无法创文件的问题
再使用管理员权限执行一次: sudo cassandra -R
总结
无论在线安装的cassandra 和下安装包安装的cassandra 或版本不同的Ubuntu,出现此错误
Connection error: (‘Unable to connect to any servers’, {‘x.x.x.x’: error(111, “Tried connecting to [(‘x.x.x.x’, 9042)]. Last error: Connection refused”)})
都可以考虑是否是因为权限的问题。下安装包安装的就比较麻烦,在其目录下用./cassandra -R启动 看看报错信息,并在相应位置创建相应文件夹,且赋予相应权限