没有root的Datastax Cassandra

时间:2014-08-06 19:49:58

标签: linux cassandra datastax

我正在尝试在Redhat Linux上安装和运行Datastax cassandra社区版,但我没有root权限。我在主目录中提取了tar,但我无法执行./cassandra

我在HPC群集上执行此操作并认为我将Cassandra安装在我的主目录中,并将数据保存在我们提供的暂存空间中(主目录没有足够的空间)保存整个数据)

我将不胜感激任何帮助!谢谢!

4 个答案:

答案 0 :(得分:8)

installation docs for DataStax community edition开始,您需要的唯一其他步骤是创建数据和日志目录:

$ 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

如果您使用的是其他地点,那很好。只需确保创建dirs并分配所有者(如上所述),并在cassandra.yaml(data_file_directories,commitlog_directories,saved_caches_directory)和log4j-server.properties中设置适当的值。

您将看到的结果的更详细日志将确认这是否是问题。

答案 1 :(得分:1)

是的,您可以在没有root或sudo权限的情况下运行Cassandra。将Cassandra tar文件解压缩到本地用户目录,将cassandra.yaml配置为单个节点。然后从bin目录运行Cassandra,无论是在前台还是后台,并使用cql shell登录。

bin / cassandra -f 要么 斌/卡桑德拉 和 cqlsh

答案 2 :(得分:1)

这适用于Cassandra 2.1x版 您可以在没有root或sudo权限的情况下运行Cassandra,除了提取 tar文件,您需要修改conf / logback.xml以将日志重定向到 你的家或你可以写的地方。

    <file>/home/xxxx/system.log</file>
     <fileNamePattern>/home/xxxx/system.log.%i.zip</fileNamePattern>

不使用root运行的唯一小问题是 - ULIMIT -l(RLIMIT on 需要增加最大锁定内存,我不能用我的帐户增加它。 但这并不妨碍它运行..

答案 3 :(得分:0)

在我看来,几乎所有java编写的apache项目都不需要root权限。 Cassandra具有相同的功能。

首先,从http://cassandra.apache.org/download/下载apache-cassandra-bin.tar.gz。请记住,不要使用.deb或.rpm或其他。

其次,运行tar -xzf cassandra-bin.tar.gz将其解压缩到任意文件夹,假设该文件夹为$cassandra_home

第三,只需转到$cassandra_home/bin,运行./cassandra,完成!数据存储在$cassandra_home/data中,日志位于$cassandra_home/logs

如果要设置数据和日志的位置:

1,转到$cassandra_home/conf,修改cassandra.yaml文件。 将这些目录设置为您具有读写权限的文件夹:

  • data_file_directories:
  • commitlog_directory:
  • cdc_raw_directory:
  • hints_directory:
  • saved_caches_directory:

(不同的cassandra版本可能有不同的参数。您只需在yaml文件中搜索director。)

第二,如果要启用日志,请修改日志文件位置,修改$cassandra_home/conf/logback.xml(或log4j或其他),并将日志文件夹设置为其他位置。

享受它。