我已经按照https://docs.datastax.com/en/developer/python-driver/3.25/getting_started/中给出的步骤,使用python代码连接到cassandra数据库,但在运行代码片段之后,我仍然得到了
NoHostAvailable: ('Unable to connect to any servers', {'hosts"port': OperationTimedOut('errors=None, last_host=None'),
- Python版本2.7和3(为两个Python版本都设置了类路径)
- Java 1.8(类路径已设置)
- Apache cassandra 3.11.6(已设置Apache主类路径)
2条答案
按热度按时间fcy6dtqo1#
因此,该错误消息表明主机/端口组合没有运行Cassandra,或者负载过重,无法响应。
你能编辑你的问题,把Cassandra连接部分包括在你的代码中吗?我使用的是I have a test script(欢迎您查看),下面是连接部分:
我这样称呼它:
您也可以尝试在集群上运行
nodetool status
,以确保它运行正常。编辑
所以在我看来,这听起来像是在e1d1e之前尝试e1d1 d1e。查看my Git repo(上面链接)以查看示例化
session
的正确顺序。我没有使用默认端口
在这种情况下,请确保在集群定义中设置了
port
。前任:sdnqo3pr2#
我倾向于使用一个非常简单的应用程序来测试与Cassandra集群的连接:
然后运行它:
在您的评论中,您提到您得到的是
OperationTimedOut
,这表明驱动程序在客户端超时时间内从未从节点得到响应。这通常意味着(a)您连接到了错误的IP,(b)您连接了错误的CQL端口,或(c)您的应用程序和集群之间存在网络连接问题。确保您使用的是在e1d1e或
cassandra.yaml
中设置的IP地址。还要确保节点正在正确的端口上侦听CQL客户端。您可以通过检查这些Linux实用程序(如netstat
或lsof
)的输出来轻松验证这一点,例如:干杯