使用 CQL python 驱动程序的 Cassandra 环状态

Posted

技术标签:

【中文标题】使用 CQL python 驱动程序的 Cassandra 环状态【英文标题】:Cassandra ring status using CQL python driver 【发布时间】:2018-04-21 19:34:28 【问题描述】:

我正在尝试获取 cassandra 集群的运行状况,有没有办法使用 python CQL 驱动程序来获取它?

我之前在基于节俭的数据模型中使用 pycassa:https://github.com/datastax/python-driver

有没有办法使用 CQL python 驱动程序获取集群运行状况或 get_endpoints

【问题讨论】:

【参考方案1】:

集群由元数据描述,如official documentation 中所述。比如有Metadata.token_map那个holds information关于戒指、token分配等等。

【讨论】:

感谢@Alex,我正在尝试使用 python 驱动程序查找集群中是否有任何节点。有办法吗? 我对 Python 驱动不是很熟悉,但我可以建议让所有主机使用Metadata.all_hosts(),并检查is_up 是否设置为True 谢谢@alex,但是当我在多直流环境中尝试它时,我看到 is_up 值为 None,知道为什么 is_up 显示为 None 吗? pastebin.com/jj06StKQus-west-2 是我连接和查询的 DC。有什么想法吗? None 会在 Cassandra 不知道该主机是启动还是关闭时显示。如果您收到 None 而不是 TrueFalse,我可能会建议您尝试打开和关闭与该节点的套接字连接 我还验证了端口已打开,nodetool 状态显示所有节点都已启动并正在运行这是我正在做的事情,如果有什么问题请告诉我pastebin.com/YrSi3BJy

以上是关于使用 CQL python 驱动程序的 Cassandra 环状态的主要内容,如果未能解决你的问题,请参考以下文章

Cassandra 数据模型

我们可以编写 SQL 查询而不是 CQL 吗?

如何使用 cql 对宽行进行数据建模

在 JAVA 中执行 cql shell 文件或命令

我无法使 CQL 参数 IN 工作

使用 Cassandra (CQL 3) 实现类似表的堆栈