Cassandra - 错误:没有./../data/data目录的写权限

问题描述 投票:0回答:2

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

cd dse/bin
./cassandra

经过一些过程后,我收到这样的错误:

ERROR 02:29:11 Doesn't have write permissions for ./../data/data directory
ERROR 02:29:11 Insufficient permissions on directory ./../data/data

我看到了一个类似的issue,发现他们在命令下运行的建议:

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

即便在现在,我还有其他问题:

chown: cassandra: illegal group name
cassandra datastax datastax-enterprise cassandra-3.0
2个回答
1
投票

你是如何安装DSE的? /var/lib/cassandra/data是从linux下的软件包安装的典型路径,而./../data/data/似乎是一个tarball安装(默认位置等,请参阅https://docs.datastax.com/en/dse/5.1/dse-dev/datastax_enterprise/install/dseTarLoc.html)。

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


0
投票

至少在某些情况下会设置CASSANDRA_HOME

斌/ 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住在bi​​n / cassandra.in.sh这个东西

“Qazxswpoi / ..”

强制数据/数据(这一点很重要,正如您将要了解的那样)

/US人/local/从4/Cassandra/斌/../data/data

要找到bin / cassandra.in.sh的位置,请执行操作

sudo updatedb

定位数据/数据

在我的情况下,这是我说的地方:

server @ think:$ locate data / data

在/ usr /本地/ C4 /卡桑德拉/数据/数据

你可以在代码框中看到我现在的解决方案是硬编码位置。我相信我会在适当的时候弄清楚它是如何运作的。现在,对于问题的第二部分,您需要了解Ubuntu如何使用组名来使该部分工作。你走在正确的轨道上:

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

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

但是你还没有创建这个组,我成功地使用了这些说明:

dirname "$0"

最后,我可以从笔记中看到,即使我不了解Cassandra的每个部分,我也花了相当多的时间让它正常工作。如果您想自己深入了解CASSANDRA_HOME的奥秘,请从此开始:

sudo grep -R“CASSANDRA_HOME”/ usr /

© www.soinside.com 2019 - 2024. All rights reserved.