Cassandra 卡桑德拉-错误:不';我没有对./../data/data目录的写入权限

Cassandra 卡桑德拉-错误:不';我没有对./../data/data目录的写入权限,cassandra,datastax,datastax-enterprise,cassandra-3.0,Cassandra,Datastax,Datastax Enterprise,Cassandra 3.0,我刚刚安装了Datastax Enterprise。我正在尝试运行命令。我正在使用OSX(Sierra) 经过一些过程后,我会出现如下错误: ERROR 02:29:11 Doesn't have write permissions for ./../data/data directory ERROR 02:29:11 Insufficient permissions on directory ./../data/data 我看到了一个类似的建议,并发现它运行以下命令: sudo chown

我刚刚安装了Datastax Enterprise。我正在尝试运行命令。我正在使用OSX(Sierra)

经过一些过程后,我会出现如下错误:

ERROR 02:29:11 Doesn't have write permissions for ./../data/data directory
ERROR 02:29:11 Insufficient permissions on directory ./../data/data
我看到了一个类似的建议,并发现它运行以下命令:

sudo chown -R cassandra:cassandra /var/lib/cassandra/data
sudo chown -R cassandra:cassandra /var/lib/cassandra/commitlog
即使现在,我也遇到了另一个问题:

chown: cassandra: illegal group name

您是如何安装DSE的
/var/lib/cassandra/data
是linux下软件包安装的典型路径,而
/./data/data/
似乎是tarball安装(有关默认位置等,请参阅)


您的数据目录是在dse中配置的-您需要检查那里的权限或在cassandra.yaml中配置您的数据目录。

至少在某些情况下,cassandra_HOME是在

bin/cassandra.in.sh

我不确定Cassandra如何在没有设置Cassandra_HOME的情况下到达那里,但毫无疑问它可以到达那里,因为Cassandra.in.sh要做的第一件事是检查Cassandra_HOME是否未在此处初始化:

if [ "x$CASSANDRA_HOME" = "x" ]; then
#    CASSANDRA_HOME="`dirname "$0"`/.."
     CASSANDRA_HOME=/usr/local/c4/cassandra
fi
因为cassandra.in.sh住在垃圾桶里

dirname”$0”
/…”

强制在中考虑数据/数据(这很重要,您将了解到)

/usr/local/c4/cassandra/bin/。/数据/数据

要找到你把垃圾桶/卡桑德拉放在哪里,请做一个

sudo更新

定位数据/数据

在我的例子中,我这样说:

server@think:$locate data/data

/usr/local/c4/cassandra/data/data

您可以在上面的代码框中看到,我现在的解决方案是对位置进行硬编码。我相信我会及时弄清楚这一切是如何运作的。现在,对于问题的第二部分,您需要了解Ubuntu如何使用组名来实现这一部分。你在正确的轨道上:

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

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

但您尚未创建组,我成功地使用了以下说明:

最后,我可以从我的笔记中看出,我确实花了相当多的时间让它正确运行,即使我还不理解卡桑德拉的每一部分。如果你想亲自挖掘卡桑德拉尤家的奥秘,请从以下开始:

sudo grep-R“卡桑德拉之家”/usr/

if [ "x$CASSANDRA_HOME" = "x" ]; then
#    CASSANDRA_HOME="`dirname "$0"`/.."
     CASSANDRA_HOME=/usr/local/c4/cassandra
fi