我正在尝试在Redhat Linux上安装并运行Datastax Cassandra社区版,但我没有root权限。我将tar文件提取到我的主目录中,但是我无法执行./cassandra
我在一台HPC集群上进行此操作,并想在我的主目录中安装Cassandra,并将数据保存在我们提供的临时空间中(主目录没有足够的空间来容纳整个数据)
如果有任何帮助,我将不胜感激!谢谢!
从DataStax社区版安装文档中得知,唯一需要执行的其他步骤是创建数据和日志目录:
$ sudo mkdir /var/lib/cassandra
$ sudo mkdir /var/log/cassandra
$ sudo chown -R $USER: $GROUP /var/lib/cassandra
$ sudo chown -R $USER: $GROUP /var/log/cassandra
如果您使用的是不同的位置,那没关系。只需确保创建目录并分配所有者(如上所述),并在(data_file_directories、commitlog_directories、saved_caches_directory)和log4j-server.properties
中设置适当的值。
更详细的结果日志将确认这是否是问题的原因。
是的,您可以在没有root或sudo权限的情况下运行Cassandra。将Cassandra tar文件解压缩到您的本地用户目录中,将cassandra.yaml配置为单节点。然后您可以从bin目录中以前台或后台方式运行Cassandra,并使用cql shell登录。
bin/cassandra -f OR bin/cassandra AND cqlsh
这是针对Cassandra 2.1x版本的。 你可以在没有root或sudo权限的情况下运行Cassandra,除了解压tar文件外,你还需要修改conf/logback.xml以将日志重定向到你的主目录或其他你可以写入的地方。
<file>/home/xxxx/system.log</file>
<fileNamePattern>/home/xxxx/system.log.%i.zip</fileNamePattern>
唯一的小问题是不以根用户身份运行-ULIMIT -l(RLIMIT上锁定的最大内存)将需要增加,而我无法使用我的帐户增加它。但这并不会阻止其运行。
tar -xzf cassandra-bin.tar.gz
将其解压到任何文件夹中,假设该文件夹是$cassandra_home
。$cassandra_home/bin
,运行./cassandra
,完成!数据存储在$cassandra_home/data
中,日志存储在$cassandra_home/logs
中。$cassandra_home/conf
,修改cassandra.yaml
文件。
将这些目录设置为您具有读写访问权限的文件夹:
(不同版本Cassandra可能具有不同的参数。您可以在yaml文件中搜索director
。)
其次,如果您想启用日志记录,请修改日志文件位置,修改 $cassandra_home / conf / logback.xml
(或log4j或其他),并将日志文件夹设置为另一个位置。
尽情享受吧!
bin
目录中,您能否运行并发布以下命令的输出:ls -al cassandra
。 - Aaron