当我尝试在Ubuntu上启动Cassandra 12.04(通过DataStax的dsc20
软件包安装)作为服务:
$ sudo服务卡桑德拉开始
它说
*无法访问cassandra
&没有其他消息或日志中的任何内容。
但是,当我尝试以root用户(sudo cassandra -f
)运行时,它只是正常工作&卡桑德拉开始了。在尝试调试时,我发现在尝试运行作为非root用户时,我会收到这些消息:
ERROR 17:48:08,432 Exception encountered during startup
java.lang.AssertionError: Directory /var/lib/cassandra/data is not accessible.
..
java.io.FileNotFoundException: /var/log/cassandra/system.log (Permission denied)
..
java.lang.AssertionError: Directory /var/lib/cassandra/data is not accessible.
包装有问题吗?软件包安装/配置不正确?
默认情况下,cassandra服务不是,也不应作为root运行。
我的猜测是您首先在前景中运行它,它会自动创建/var/lib/cassandra,而不是使用root权限,而不是使用卡桑德拉(Cassandra)权限。带有适当组和用户的Chown -r/var/lib/cassandra要么吹走目录,然后尝试再次启动服务。
$ su cassandra
然后运行
$ service cassandra start
它对我有用。