如何确定特定DSE正在运行哪个版本的Cassandra?

42

到目前为止,我在Datastax文档网站上没有找到总结这一点的地方。我能否在服务器上通过其他方式轻松地检查版本?

6个回答

74

打开 cqlsh 并输入 show VERSION 命令。

这将显示 cqlsh、DSE、Cassandra 等所有版本的详细信息。

Version details

admin@cqlsh> SELECT cql_version FROM system.local;

 cql_version
-------------
       3.4.0

此外,nodetool version 可以显示 Cassandra 的版本。


6
输出结果非常容易解析。因此,不要打开交互式的cqlsh,只需执行命令cqlsh -e "show VERSION"并将其重定向到任何需要的地方即可。 - Bruno Bronosky
@Arun,你是如何在cqlsh中同时使用Cassandra和DSE的?你进行了哪种类型的安装? - Elvin
仅当它正在运行时才执行,例如不在构建管道中。 - mirekphd

46

我不确定是否有一个显式的页面显示DSE版本对应的Cassandra版本,但每个DSE版本的“发布说明”页面都会显示安装的版本。例如,这里是4.5版本的发布说明,其中显示了每个次要版本升级时升级的所有版本,包括Cassandra。

一种检查正在运行的Cassandra实例的方法是在cqlsh中运行以下查询:

select peer, release_version from system.peers;
select release_version from system.local;

这个第一个查询将返回所有主机和它们的版本,除了正在查询的本地节点。第二个查询将返回正在查询的本地节点的版本。

示例输出:

cqlsh> select peer, release_version from system.peers;

 peer      | release_version
-----------+-----------------
 127.0.0.3 |  2.1.2-SNAPSHOT
 127.0.0.1 |  2.1.2-SNAPSHOT

(2 rows)

cqlsh> select release_version from system.local;

 release_version
-----------------
 2.1.2-SNAPSHOT

(1 rows)

13
您也可以通过打开cqlsh来了解版本信息。连接到节点后,您应该会看到类似于[cqlsh 4.1.1 | Cassandra 2.0.11.83 | DSE 4.6.0 | CQL spec 3.1.1 | Thrift protocol 19.39.0]的内容作为“欢迎消息”的一部分。 - PJ.
这是一个很好的观点,获取本地版本甚至更好! - Andy Tolbert

16

只需执行 bin/cassandra -v 命令,即使 cassandra 已经在运行也可以工作。如果您使用的是服务版本而不是 tarball,则使用相同的 -v 选项。


谢谢,对于CentOS6来说,命令是这样的:/usr/sbin/cassandra -v - Ikrom
在 Ubuntu-20.04 中,它也是 /usr/sbin/cassandra -v - ns16
1
在Ubuntu 20.04上,cassandra -v也可以工作。 - Dut A.

11

1
不错,不知道这份文档有多新,因为我从未见过它。虽然它没有提供完整的版本信息,但是了解主要DSE版本<->主要C*版本的对应关系是很有用的信息。 - Andy Tolbert

2

同时,如果您正在运行OpsCenter,在仪表板页面上,您可以查看节点正在运行的DSE版本和Cassandra版本。


2
在Datastax Studio的CQL部分中运行select * from system.local;,它会提供所有详细信息。要了解与Apache Cassandra版本的兼容性,请参考Datastax文档此处的页面

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