如何在没有 Cassandra 的情况下获得 nodetool

Dmi*_*sev 7 cassandra

我有跨局域网机器的 Cassandra 池。我需要nodetool在没有安装 Cassandra 的机器上。我怎么才能得到它?

安装 Cassandra 和禁用 db 服务是最好的方法吗?

Aar*_*ron 7

最简单(非侵入性)的方法可能是下载 tarball 安装(您需要为它选择基于 Mac 或 Linux 的操作系统以允许您下载 tarball)。基于您提到禁用该服务,我猜您想在 Windows 上完成此操作。如果不是这种情况,请在评论中指出。

将 dsc-cassandra-2.0.8-bin.tar.gz 解压到要运行 Nodetool 的位置。前任:

$ cd /tools
$ tar -zxvf dsc-cassandra-2.0.8-bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

注意:您可能有不同的应用程序用于 tarball。我是从Cygwin终端运行的。

找到 JRE/JDK 的位置(不是bin目录)并将其设置为“JAVA_HOME”(系统)环境变量。正确设置后,您应该可以通过 CMD 查询它:

>echo %JAVA_HOME%
C:\Program Files (x86)\Java\jre7
Run Code Online (Sandbox Code Playgroud)

设置 JAVA_HOME 后,它应该可以从 CMD 或 Powershell 工作:

C:\tools\dsc-cassandra-2.0.8\bin>nodetool -h 192.168.1.85 status
Starting NodeTool
Note: Ownership information does not include topology; for complete information, specify a keyspace
Datacenter: datacenter1
========================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens  Owns    Host ID                               Rack
UN  192.168.1.85  506.29 MB  256     100.0%  cd39f0fe-ed67-40cf-b6bd-504cedabf497  rack1
Run Code Online (Sandbox Code Playgroud)

这样,您就可以在nodetool不干扰安装程序或服务的情况下运行。