如何在 Linux Ubuntu 上配置 Cassandra 的访问权限

How to configure access permissions for Cassandra on Linux Ubuntu

感谢您阅读本文。我停留在本教程中关于安装 Cassandra 的第三步:http://wiki.apache.org/cassandra/GettingStarted#Step_3:_Start_Cassandra

我只能运行这个软件作为root。 (通过虚构的直升机噪音大喊)这似乎是 运行 软件的糟糕方式。

以普通用户身份启动 Cassandra 服务器时,我收到以下错误:

1.) 15:46:00,147 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - openFile(/var/log/cassandra/system.log,true) call failed. java.io.FileNotFoundException: /var/log/cassandra/system.log (Permission denied)

2.) ERROR 20:46:00 Doesn't have write permissions for /var/lib/cassandra/data directory

我尝试多次更改权限,但没有任何效果。我尝试更改操作系统 (OS) 上 cassandra 组的 read/write 的 /var/log/cassandra/system.log 权限。我用来执行此操作的命令是 sudo chmod 664 /var/log/cassandra/system.log。我发现此页面有助于确定如何更改权限:http://www.linux.org/threads/file-permissions-chmod.4094/

然后,我将我的用户名添加到 cassandra 组。根据我的理解 运行 宁 /usr/sbin/cassandra -f 命令作为我的用户应该允许我访问 /var/log/cassandra/system.log 文件,这将解决错误之一,上面的错误编号 1。

恭敬地,

用户

授予您想要的用户对数据和提交日志目录的权限。

sudo chown -R cassandra:cassandra /var/lib/cassandra/data


sudo chown -R cassandra:cassandra /var/lib/cassandra/commitlog

我找到了解决办法!我 运行 sudo -u cassandra /usr/sbin/cassandra -f 然后 运行 遇到了 Phact 在他的回答中提到的 commitlog 目录的问题。然后我 运行 Phact 的递归 chown 命令,sudo chown -R cassandra:cassandra /var/lib/cassandra/commitlog 和 Cassandra 服务器正确启动,就像我 运行 作为根用户的程序一样。 :D :D :D