如何在任何地方运行Cassandra(cqlsh)

6
在Cassandra的官方文档(https://wiki.apache.org/cassandra/GettingStarted)中,它指出要启动服务,请使用以下命令。
'bin/cassandra -f'

然后使用。
'bin/cqlsh'

想要访问CQLSH,但我总是需要前往bin文件夹。如何使其能够在控制台的任何位置输入“cqlsh”以进行访问(而不必在Cassandra设置的bin文件夹中)?

(就像我们只需在控制台中键入python3即可直接从任何位置访问Python一样)


1
你使用的是哪个Linux版本,以及你是如何安装Cassandra的? - jny
Linux 3.13.0-24-generic x86_64 和按照 https://wiki.apache.org/cassandra/GettingStarted 的步骤安装了Cassandra。 - user4700203
我很确定jny是在询问你运行的Linux版本(Ubuntu,CentOS等)。内核版本实际上并不影响安装过程。 - Aaron
抱歉,我的错,它是Ubuntu 14.04。 - user4700203
2个回答

3
为了让这个工作正常运行,您需要将Cassandra的bin目录添加到$PATH中。
从终端提示符中,检查您$PATH的内容。
$ echo $PATH

在我的Ubuntu虚拟机上,我看到了以下内容:
/usr/local/apache-maven/apache-maven-3.1.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.7.0_45/bin

既然您提到Python3,我也会在我的系统上检查其位置:

$ which python3
/usr/bin/python3

正如您所看到的,Python3在我的/usr/bin目录中,而/usr/bin在我的$PATH中,这就是为什么仅键入python3即可为我(以及您)工作的原因。

有几种方法可以将Cassandra的bin目录添加到您的$PATH中。 有一些争议关于哪种是“正确”的方法来实现这一点。 因此,我不会告诉您我会如何做,而是提供一个链接到AskUbuntu上的问题,其中详细介绍了大约3种将目录添加到$PATH中的方法:How to add a directory to my path?


0

在您的根文件夹中使用 cassandra -f,然后您就可以在任何安装了cassandra的地方使用 cqlsh


是的,我已经完成了那一步(该步骤在上面的链接中提到),但是cqlsh必须位于bin文件夹内才能执行。 - user4700203
1
@EshanM.Herath,从你的问题中我得到的印象是你在bin文件夹而不是根文件夹中运行了cassandra -f。你是说你已经尝试在根目录下运行cassandra -f了吗? - Sid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接