我刚刚安装了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
你是如何安装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中配置您的数据目录。
至少在某些情况下会设置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住在bin / 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 /